=' ) ) { return false; } return (bool) apply_filters( 'aieo_store_session_cache_sync', true ); } public static function remember() { self::note( self::session() ); } public static function sync( $session = null ) { self::note( is_object( $session ) ? $session : self::session() ); if ( ! self::$ids || ! self::applies() ) { self::$ids = array(); return; } $prefix = WC_Cache_Helper::get_cache_prefix( WC_SESSION_CACHE_GROUP ); foreach ( array_keys( self::$ids ) as $id ) { wp_cache_delete( $prefix . $id, WC_SESSION_CACHE_GROUP ); } self::$ids = array(); } private static function note( $session ) { if ( is_object( $session ) && is_a( $session, self::HANDLER ) && method_exists( $session, 'get_customer_id' ) ) { $id = (string) $session->get_customer_id(); if ( '' !== $id ) { self::$ids[ $id ] = true; } } } private static function session() { if ( ! function_exists( 'WC' ) ) { return null; } $wc = WC(); return ( is_object( $wc ) && isset( $wc->session ) && is_object( $wc->session ) ) ? $wc->session : null; } } }