Stabilize how WordPress hooks into SimplePie to implement transient caching.

Since a plugin can load a previous (< 1.3) version of SimplePie before we do,
we need to be compatible with our old method of overriding SimplePie_Cache::create().

SimplePie_Cache::create() was converted to static in 1.3 (as it was called),
requiring that we create two different definitions of WP_Feed_Cache (extends
SimplePie_Cache). Instead, we can use 1.3's new object registry, and leave
the old WP_Feed_Cache to SimplePie 1.2 versions.

see #21183.



git-svn-id: https://develop.svn.wordpress.org/trunk@21652 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Andrew Nacin
2012-08-29 00:25:52 +00:00
parent 01527025c9
commit 3064c6d713
2 changed files with 24 additions and 12 deletions
+14 -10
View File
@@ -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;