web-dev-qa-db-fra.com

Flux, RSS incapable d'effacer le cache et ne peut pas modifier la limite de durée de vie du cache

Le système de flux WordPress est extrêmement complexe sans raison.

J'ai tourné et tourné en rond.

J'utilise:

function do_not_cache_feeds(&$feed) {
    $feed->enable_cache(false);
}
add_action( 'wp_feed_options', 'do_not_cache_feeds' );

define( 'MAGPIE_CACHE_AGE', 1 );

function prefix_set_feed_cache_time( $seconds ) {
    return 1;
}
add_filter( 'wp_feed_cache_transient_lifetime' , 'prefix_set_feed_cache_time' );

Dans mon fichier functions.php dans mon dossier de thèmes.

N'a pas travaillé pour une raison qui me dépasse.

La première question est donc la suivante: y at-il un moyen de me débarrasser de la mise en cache du flux? J'utilise déjà du vernis?

Deuxièmement, pour les flux en cache actuels, comment puis-je les effacer?

Troisièmement, où diable sont-ils entreposés? Je regarde littéralement partout.

1
jnbdz

Si vous utilisez W3 Total Cache ou tout autre système de mise en cache, assurez-vous qu'il ne met pas en cache les flux.

WordPress utilise SimplePie pour analyser ses flux. Beaucoup de choses qui se produisent en même temps peuvent semer la confusion. Tout d’abord, SimplePie met les flux en cache, je n’ai pas encore compris comment l’effacer ni où il est stocké. Mais vous pouvez utiliser ce code pour le forcer à ne pas le mettre en cache, ni les flux pendant une période plus courte.

function do_not_cache_feeds(&$feed) {
    $feed->enable_cache(false);
}
add_action( 'wp_feed_options', 'do_not_cache_feeds' );

function prefix_set_feed_cache_time( $seconds ) {
    return 1;
}
add_filter( 'wp_feed_cache_transient_lifetime' , 'prefix_set_feed_cache_time' );

Lors du test, assurez-vous également de vider le cache de votre navigateur. Parce que SimplePie avec WordPress utilise HTTPCG (HTTP Conditionnel Get) . Pour plus de détails sur la mise en cache SimplePie, allez ici: Mise en cache de SimplePie .

1
jnbdz