diff --git a/wp-includes/class-feed.php b/wp-includes/class-feed.php index bd4ed7563f..126255eb28 100644 --- a/wp-includes/class-feed.php +++ b/wp-includes/class-feed.php @@ -3,17 +3,21 @@ if ( !class_exists('SimplePie') ) require_once (ABSPATH . WPINC . '/class-simplepie.php'); -class WP_Feed_Cache extends SimplePie_Cache { - /** - * Create a new SimplePie_Cache object - * - * @static - * @access public - */ - public static function create($location, $filename, $extension) { - return new WP_Feed_Cache_Transient($location, $filename, $extension); +if ( version_compare( SIMPLEPIE_VERSION, '1.3-dev', '>' ) ) : + SimplePie_Cache::register( 'wp-transient', 'WP_Feed_Cache_Transient' ); +else : + class WP_Feed_Cache extends SimplePie_Cache { + /** + * Create a new SimplePie_Cache object + * + * @static + * @access public + */ + function create($location, $filename, $extension) { + return new WP_Feed_Cache_Transient($location, $filename, $extension); + } } -} +endif; class WP_Feed_Cache_Transient { var $name; diff --git a/wp-includes/feed.php b/wp-includes/feed.php index 1665cf59ba..e5b96ab122 100644 --- a/wp-includes/feed.php +++ b/wp-includes/feed.php @@ -532,9 +532,17 @@ function fetch_feed($url) { require_once (ABSPATH . WPINC . '/class-feed.php'); $feed = new SimplePie(); + + if ( version_compare( SIMPLEPIE_VERSION, '1.3-dev', '>' ) ) { + $feed->set_cache_location( 'wp-transient' ); + $feed->registry->register( 'Cache', 'WP_Feed_Cache_Transient' ); + $feed->registry->register( 'File', 'WP_SimplePie_File' ); + } else { + $feed->set_cache_class( 'WP_Feed_Cache' ); + $feed->set_file_class( 'WP_SimplePie_File' ); + } + $feed->set_feed_url($url); - $feed->set_cache_class('WP_Feed_Cache'); - $feed->set_file_class('WP_SimplePie_File'); $feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 43200, $url)); do_action_ref_array( 'wp_feed_options', array( &$feed, $url ) ); $feed->init();