Y at-il des directives officielles sur l'endroit où un plugin doit mettre en cache les fichiers?
Sinon, y a-t-il une meilleure pratique que je puisse suivre?
Par exemple, un plugin récupère le contenu d'un système dorsal tire avantage de la mise en cache du fichier afin de ne pas extraire de manière répétée le même contenu à partir du backend.
Rechercher ici et ailleurs est difficile car la plupart des requêtes conduisent à la mise en cache de plugins ou de tutoriels de bases de données.
Mon instinct dit de les mettre dans un sous-répertoire de wp-content/uploads
.
Mon instinct secondaire serait de garder les fichiers dans l’arborescence du plugin. Cela conserve les données du plug-in regroupées mais ne suit pas (ce qui semble être) l'architecture WordPress où le contenu de l'utilisateur est dans /uploads
.
Ce serait bien si WordPress avait un répertoire de cache basé sur des standards, mais comme cela n’est pas le cas, la meilleure option est de le conserver dans le dossier du plugin lui-même.
Les téléchargements sont à mon avis des téléchargements réels et les fichiers de cache ne sont pas vraiment considérés en tant que tels. Je pense que c'est plus facile à gérer, réduit les conflits possibles et pour tout dire, c'est là que je chercherais si un plugin avait cette fonctionnalité.
tl; dr: Les fichiers de cache font partie des fonctionnalités d'un plug-in spécifique et doivent être empaquetés avec celui-ci.
Si vous n'avez pas besoin de stocker des données très volumineuses, consultez l'API Wordpress Transient:
http://codex.wordpress.org/Transients_API
Vos données seront traitées par Wordpress avec un délai d'expiration. Je pense que c'est le plus "wordpress-way" pour mettre en cache des données.
Assis avec le même "problème". Au début, je pensais que stocker ce cache était une option, mais mon cache était tout simplement trop grand, donc cela ne fonctionnait pas. Alors peut-être que c'est une alternative si votre cache ne sera jamais vraiment volumineux. Par exemple, si vous communiquez avec une API et que vous ne pouvez effectuer que quelques requêtes par heure et que la réponse renvoyée n’est pas trop longue. :)