@@ -805,6 +805,9 @@ function fetch_feed( $url ) {
805805 if ( ! class_exists ( 'SimplePie\SimplePie ' , false ) ) {
806806 require_once ABSPATH . WPINC . '/class-simplepie.php ' ;
807807 }
808+ require_once ABSPATH . WPINC . '/class-wp-feed-cache-transient.php ' ;
809+ require_once ABSPATH . WPINC . '/class-wp-simplepie-file.php ' ;
810+ require_once ABSPATH . WPINC . '/class-wp-simplepie-sanitize-kses.php ' ;
808811
809812 if ( is_array ( $ url ) && count ( $ url ) <= 1 ) {
810813 $ url = array_shift ( $ url );
@@ -816,15 +819,22 @@ function fetch_feed( $url ) {
816819 $ items = SimplePie \SimplePie::merge_items ( $ feeds );
817820
818821 $ feed = new SimplePie \SimplePie ();
822+ $ feed ->get_registry ()->register ( SimplePie \Sanitize::class, 'WP_SimplePie_Sanitize_KSES ' , true );
823+ $ feed ->sanitize = new WP_SimplePie_Sanitize_KSES ();
824+ if ( method_exists ( 'SimplePie_Cache ' , 'register ' ) ) {
825+ SimplePie_Cache::register ( 'wp_transient ' , 'WP_Feed_Cache_Transient ' );
826+ $ feed ->set_cache_location ( 'wp_transient ' );
827+ } else {
828+ // Back-compat for SimplePie 1.2.x.
829+ require_once ABSPATH . WPINC . '/class-wp-feed-cache.php ' ;
830+ $ feed ->set_cache_class ( 'WP_Feed_Cache ' );
831+ }
832+ $ feed ->get_registry ()->register ( SimplePie \File::class, 'WP_SimplePie_File ' , true );
819833 $ feed ->init ();
820834 $ feed ->data ['items ' ] = $ items ;
821835 return $ feed ;
822836 }
823837
824- require_once ABSPATH . WPINC . '/class-wp-feed-cache-transient.php ' ;
825- require_once ABSPATH . WPINC . '/class-wp-simplepie-file.php ' ;
826- require_once ABSPATH . WPINC . '/class-wp-simplepie-sanitize-kses.php ' ;
827-
828838 $ feed = new SimplePie \SimplePie ();
829839
830840 $ feed ->get_registry ()->register ( SimplePie \Sanitize::class, 'WP_SimplePie_Sanitize_KSES ' , true );
0 commit comments