Wie hole ich Feed-Informationen aus dem Cache anstatt direkt aus dem Feed?

Ich habe SimplePie verwendet, um Elemente aus einem Feed abzurufen und sie auf einer eigenen Seite meiner Site anzuzeigen. Ich habe es vorher nicht bemerkt, aber das hat die Ladezeit der Seite um mehr als 10 Sekunden verlängert. Der Grund, aus dem ich glaube, ist, dass ich den Cache nicht verwende, so dass jedes Mal, wenn jemand die Seite betritt, der Feed erneut aufgerufen / heruntergeladen wird.

Also habe ich einen Cronjob eingerichtet, wie mir die Dokumentation sagte. Erstellen von update_simplepie_cache.php in public_html. Das hat funktioniert und der Cron-Job hat eine Datei in public_html/cache/ .

Die Frage ist: Wie ändere ich mein aktuelles Markup, um Informationen aus dem Cache anstatt direkt aus dem Feed abzurufen?

Hier ist das Markup, das ich verwendet habe (dies ist in front-page.php)

 set_feed_url($feed_url); $feed->init(); ?> get_items(0, 6) as $item): ?> 
get_item_tags('', 'image')); if ($rss_image) { ?> <a class="recent-blog-img-link" href="https://wordpress.stackexchange.com/questions/199302/how-do-i-fetch-feed-info-from-cache-instead-of-directly-from-feed/get_permalink(); ?>"><img srcset=""/> <a class="recent-blog-img-link" href="https://wordpress.stackexchange.com/questions/199302/how-do-i-fetch-feed-info-from-cache-instead-of-directly-from-feed/get_permalink(); ?>"><img srcset="get_content()); ?>"/>

<a href="https://wordpress.stackexchange.com/questions/199302/how-do-i-fetch-feed-info-from-cache-instead-of-directly-from-feed/get_permalink(); ?>"> https://wordpress.stackexchange.com/questions/199302/how-do-i-fetch-feed-info-from-cache-instead-of-directly-from-feed/get_title(); ?>

get_description(), 50); ?>
get_date('U')); ?>

Solutions Collecting From Web of "Wie hole ich Feed-Informationen aus dem Cache anstatt direkt aus dem Feed?"

Sie könnten einfach fetch_feed() , das seine eigene Erweiterung von SimplePie_Cache :

 $feed = new SimplePie(); ... $feed->set_cache_class( 'WP_Feed_Cache' ); ... $feed->set_feed_url( $url ); ... $feed->set_cache_duration( apply_filters( 'wp_feed_cache_transient_lifetime', 12 * HOUR_IN_SECONDS, $url ) ); 

set_transient() die Feeds mit set_transient() .