wp/wp-includes/feed.php
changeset 18 be944660c56a
parent 16 a86126ab1dd4
child 21 48c4eec2b7e6
equal deleted inserted replaced
17:34716fd837a4 18:be944660c56a
   787 function fetch_feed( $url ) {
   787 function fetch_feed( $url ) {
   788 	if ( ! class_exists( 'SimplePie', false ) ) {
   788 	if ( ! class_exists( 'SimplePie', false ) ) {
   789 		require_once ABSPATH . WPINC . '/class-simplepie.php';
   789 		require_once ABSPATH . WPINC . '/class-simplepie.php';
   790 	}
   790 	}
   791 
   791 
   792 	require_once ABSPATH . WPINC . '/class-wp-feed-cache.php';
       
   793 	require_once ABSPATH . WPINC . '/class-wp-feed-cache-transient.php';
   792 	require_once ABSPATH . WPINC . '/class-wp-feed-cache-transient.php';
   794 	require_once ABSPATH . WPINC . '/class-wp-simplepie-file.php';
   793 	require_once ABSPATH . WPINC . '/class-wp-simplepie-file.php';
   795 	require_once ABSPATH . WPINC . '/class-wp-simplepie-sanitize-kses.php';
   794 	require_once ABSPATH . WPINC . '/class-wp-simplepie-sanitize-kses.php';
   796 
   795 
   797 	$feed = new SimplePie();
   796 	$feed = new SimplePie();
   798 
   797 
   799 	$feed->set_sanitize_class( 'WP_SimplePie_Sanitize_KSES' );
   798 	$feed->set_sanitize_class( 'WP_SimplePie_Sanitize_KSES' );
   800 	// We must manually overwrite $feed->sanitize because SimplePie's
   799 	// We must manually overwrite $feed->sanitize because SimplePie's constructor
   801 	// constructor sets it before we have a chance to set the sanitization class.
   800 	// sets it before we have a chance to set the sanitization class.
   802 	$feed->sanitize = new WP_SimplePie_Sanitize_KSES();
   801 	$feed->sanitize = new WP_SimplePie_Sanitize_KSES();
   803 
   802 
   804 	$feed->set_cache_class( 'WP_Feed_Cache' );
   803 	// Register the cache handler using the recommended method for SimplePie 1.3 or later.
       
   804 	if ( method_exists( 'SimplePie_Cache', 'register' ) ) {
       
   805 		SimplePie_Cache::register( 'wp_transient', 'WP_Feed_Cache_Transient' );
       
   806 		$feed->set_cache_location( 'wp_transient' );
       
   807 	} else {
       
   808 		// Back-compat for SimplePie 1.2.x.
       
   809 		require_once ABSPATH . WPINC . '/class-wp-feed-cache.php';
       
   810 		$feed->set_cache_class( 'WP_Feed_Cache' );
       
   811 	}
       
   812 
   805 	$feed->set_file_class( 'WP_SimplePie_File' );
   813 	$feed->set_file_class( 'WP_SimplePie_File' );
   806 
   814 
   807 	$feed->set_feed_url( $url );
   815 	$feed->set_feed_url( $url );
   808 	/** This filter is documented in wp-includes/class-wp-feed-cache-transient.php */
   816 	/** This filter is documented in wp-includes/class-wp-feed-cache-transient.php */
   809 	$feed->set_cache_duration( apply_filters( 'wp_feed_cache_transient_lifetime', 12 * HOUR_IN_SECONDS, $url ) );
   817 	$feed->set_cache_duration( apply_filters( 'wp_feed_cache_transient_lifetime', 12 * HOUR_IN_SECONDS, $url ) );