Skip to content

Commit 1e227d2

Browse files
committed
De-duplicate initial set up of SimplePie.
1 parent a737ed6 commit 1e227d2

File tree

1 file changed

+14
-26
lines changed

1 file changed

+14
-26
lines changed

src/wp-includes/feed.php

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -805,36 +805,11 @@ function fetch_feed( $url ) {
805805
if ( ! class_exists( 'SimplePie\SimplePie', false ) ) {
806806
require_once ABSPATH . WPINC . '/class-simplepie.php';
807807
}
808+
808809
require_once ABSPATH . WPINC . '/class-wp-feed-cache-transient.php';
809810
require_once ABSPATH . WPINC . '/class-wp-simplepie-file.php';
810811
require_once ABSPATH . WPINC . '/class-wp-simplepie-sanitize-kses.php';
811812

812-
if ( is_array( $url ) && count( $url ) <= 1 ) {
813-
$url = array_shift( $url );
814-
} elseif ( is_array( $url ) ) {
815-
$feeds = array();
816-
foreach ( (array) $url as $feed_url ) {
817-
$feeds[] = fetch_feed( $feed_url );
818-
}
819-
$items = SimplePie\SimplePie::merge_items( $feeds );
820-
821-
$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 );
833-
$feed->init();
834-
$feed->data['items'] = $items;
835-
return $feed;
836-
}
837-
838813
$feed = new SimplePie\SimplePie();
839814

840815
$feed->get_registry()->register( SimplePie\Sanitize::class, 'WP_SimplePie_Sanitize_KSES', true );
@@ -857,6 +832,19 @@ function fetch_feed( $url ) {
857832

858833
$feed->get_registry()->register( SimplePie\File::class, 'WP_SimplePie_File', true );
859834

835+
if ( is_array( $url ) && count( $url ) <= 1 ) {
836+
$url = array_shift( $url );
837+
} elseif ( is_array( $url ) ) {
838+
$feeds = array();
839+
foreach ( (array) $url as $feed_url ) {
840+
$feeds[] = fetch_feed( $feed_url );
841+
}
842+
$items = SimplePie\SimplePie::merge_items( $feeds );
843+
$feed->init();
844+
$feed->data['items'] = $items;
845+
return $feed;
846+
}
847+
860848
$feed->set_feed_url( $url );
861849
/** This filter is documented in wp-includes/class-wp-feed-cache-transient.php */
862850
$feed->set_cache_duration( apply_filters( 'wp_feed_cache_transient_lifetime', 12 * HOUR_IN_SECONDS, $url ) );

0 commit comments

Comments
 (0)