J'essaie d'ajouter un format de flux personnalisé à mon site (essentiellement, l'exportation de données dans un fichier Excel) et les paramètres de mise en cache du flux me perturbent. Je n'arrive pas à comprendre comment vider les flux mis en cache ou désactiver complètement la mise en cache des flux lorsque je suis en développement.
J'ai essayé de supprimer toutes les options _transient_feed...
, _transient_timeout_feed...
et _transient_rss...
, mais je vois toujours les flux mis en cache.
Et, sur la base de quelques conseils donnés dans ce fil de discussion sur le forum d’aide , j’ai essayé sur un coup de tête en ajoutant cette ligne à mon fichier wp-config.php:
define('MAGPIE_CACHE_AGE', 0);
(Évidemment, j'aimerais un peu de mise en cache des flux, mais cela aiderait dans le développement de pouvoir désactiver la mise en cache des flux.)
Quelqu'un a des suggestions?
Quelques précisions:
Désolé, je pense que je n'ai pas été assez clair dans la question initiale, puis je vous ai tous jeté en vous référant à la cache de pie, qui était complètement sur le mauvais chemin. Je tirais aveugle au début.
J'ajoute un flux à mon site à l'aide de add_feed()
. La fonction qui génère le flux utilise la classe PHPExcel pour écrire une feuille de calcul Excel. Ensuite, je mets les en-têtes appropriés pour le téléchargement et génère les données du fichier .xls.
Je pense que mon problème pourrait en réalité être un problème de mise en cache du navigateur. Les URL que j'essaie de générer dans mes flux ont cet aspect: mysite.com/facility/ummc/?feed=master_log et le fichier xls généré s'appelle Master_Log.xls.
Ajouter une chaîne de contournement de cache à la demande d’URL peut contourner le cache, c’est-à-dire demander un flux à partir de mysite.com/facility/ummc/?feed=master_log&now=12ag4oSduq344 ... Je me demandais simplement s’il y en avait une. aucun moyen de désactiver le cache tout à fait.
Il pourrait certainement s'agir d'un problème de mise en cache. Je trouve REDbot est excellent pour vérifier rapidement comment le résultat est servi et quels sont ses paramètres de mise en cache.
essayer
function do_not_cache_feeds(&$feed) {
$feed->enable_cache(false);
}
add_action( 'wp_feed_options', 'do_not_cache_feeds' );
Si, par exemple, vous ne devez mettre à jour qu'un seul flux RIGHT NOW, afin de refléter les modifications apportées aux paramètres du site ou à un plug-in, il vous suffit de mettre à jour les publications qui apparaissent dans le flux.
La raison en est que, supposons-nous, lors de la diffusion d’un flux, WordPress vérifie toutes les publications dans le flux, et si aucune d’entre elles n’a été mise à jour depuis la mise en cache du flux, elle sert le cache, mais si une publication a été mise à jour. mis à jour, il régénère le flux et actualise le cache.
Cela m’a été utile à plusieurs reprises, par exemple lorsque j’avais besoin de mettre à jour un flux pour le soumettre à iTunes.