web-dev-qa-db-fra.com

Comment définir le cache pour l'analyseur de flux SimplePie intégré?

J'utilise SimplePie, AKA fetch_feed(), pour récupérer un flux, et je veux pouvoir ajuster la durée de la mémoire cache à partir d'un menu administrateur. SimplePie est bien documenté, mais pas tellement sa mise en oeuvre par WordPress.

Avez-vous des idées sur la meilleure façon de définir la durée de la mémoire cache?

1
Dan Gayle

La valeur de la durée de la mémoire cache (définie par défaut sur 43200 secondes) est définie lorsque l'objet de fil est généré et transmis via le filtre wp_feed_cache_transient_lifetime avec un argument supplémentaire en tant qu'URL de fil.

Cela permet de le filtrer facilement à la fois globalement et pour des flux spécifiques.

Voir fetch_feed () source pour cela et d'autres hooks que vous pouvez utiliser pour modifier son comportement.

1
Rarst

Pour élaborer sur la solution de Rarst. J'ai utilisé les éléments suivants avec grand succès:

add_filter( 'wp_feed_cache_transient_lifetime', create_function( '$a', 'return 3600;' ) );

Ceci définit le cache de flux sur une heure et doit être placé immédiatement après l'inclusion de feed.php.

1
Marc