Je crée un site Web comme Digg dans WordPress.
Après avoir installé W3 Total Cache, j'ai remarqué que certains éléments tels que le nombre de votes (et les identifiants des électeurs) par message sont mis en cache même s'ils ne devraient pas l'être (du moins pas après qu'un utilisateur vote pour un article). Je suppose qu'il n'est pas possible d'empêcher la mise en cache d'éléments spécifiques dans une page (ou est-ce?), J'ai donc pensé à déclencher le rafraîchissement du cache de page par programme.
Aucune suggestion?
la source
W3 Total Cache prend en charge la mise en cache des fragments. De la FAQ:
la source
<?php ?>
balises d' ouverture / fermeture . Je ne les avais pas encore utilisés, alors je n'ai pas d'extrait pratique à montrer.?><!-- mclude -->functions2.php<!-- /mclude --><?php
(je pense :)Pour vider une seule page par identifiant de publication dans w3tc v0.9.3, j'ai trouvé que cela fonctionnait:
la source
w3-total-cache-api.php
le répertoire du plugin du W3TC.La solution de Bainternet ne semblait pas fonctionner pour moi.
J'utilise avec succès cet extrait de code alternatif dans un plugin, chargé à l' action admin_init :
J'espère que cela aide quelqu'un là-bas.
la source
Rien de ce qui précède n'a fonctionné pour moi dans mon plugin. Mais cela a fonctionné! Fonctionnement confirmé pour la version 0.9.2.4 de w3tc.
J'ai fait un "$ wpdb-> get_results (" SELECT
sb_settings
.f_fb_app_id
,sb_settings
.f_fb_secret
FROMsb_settings
");" et j'ai été surpris que les valeurs f_fb_secret et f_fb_app_id soient les mêmes à chaque fois. C'était évidemment le w3tc qui mettait en cache le résultat de la requête. J'ai donc ajouté un vidage dbcache dans ma page de modification pour la table sb_settings.Si vous souhaitez vider le cache des pages, utilisez simplement w3tc_pgcache_flush à la place.
la source
Utilisez cet extrait pour vous assurer que votre PHP s'exécute, que la mise en cache soit activée ou désactivée. Oui, vous devez écrire / appeler votre fonction deux fois.
<!-- mfunc echo 'caching ON'; --><?php echo 'caching OFF'; ?><!-- /mfunc -->
(Je pense) voici comment cela fonctionne:
<!-- mfunc echo "hello?"; -->
Gardez cela à l'esprit en fonction de votre plaisir pour les gens à voir votre PHP (cela ne se produit que lorsque la mise en cache est désactivée).la source