web-dev-qa-db-fra.com

Répertoire nécessaire pour le plugin

Je travaille sur un nouveau plugin, et j'ai besoin d'écrire un fichier de cache libre quelque part.

Au début, je voulais créer un dossier de cache dans mon plugin avec le fichier .gitignore suivant:

# Ignore everything in this directory
*
# Except this file
!.gitignore

Mais lorsque je récupère le plug-in dans un nouveau projet, ce dossier n'est pas accessible en écriture. Evidemment, je ne veux pas que l'utilisateur aille à la ligne de commande et définisse l'autorisation de ce dossier avec chmod (tout le monde n'est pas capable de le faire).

Est-ce que quelqu'un connaît un autre emplacement où je peux sauvegarder mes fichiers de cache?

Merci d'avance!

1
Paul

Si vous observez comment les plugins de mise en cache populaires tels que WP Super Cache ou W3TC utilisent un dossier de cache dans wp-content, ainsi que d'autres plug-ins utilisant des fichiers de téléchargement ou des fichiers cachables, il serait approprié de créer un dossier dans cette structure. Un problème secondaire peut survenir si l'utilisateur a une structure de dossiers verrouillée, comme vous l'avez indiqué, et que le dossier des plugins peut être l'une de ces zones protégées. D'après mon expérience, les propriétaires de sites verrouillent le système de fichiers avec des indicateurs pour cache et uploads dans le dossier wp-content, ce qui présenterait un défi de compatibilité pour votre plugin. Par conséquent, afin d’être aussi "WordPressy" que possible, je recommanderais comme pratique de respecter la pratique générale consistant à stocker les fichiers créés dans des zones appropriées généralement associées à des actifs statiques créés dynamiquement.

Le problème plus important de stockage de fichiers statiques dans votre dossier de plug-in concerne le moment où une mise à jour de plug-in se produit, les fichiers mis en cache seront effacés car le dossier est remplacé pendant le processus de mise à jour. Là encore, sans mécanisme de mise à jour personnalisé dans votre plug-in (ce qui l'empêcherait d'être soumis au référentiel .org), il restera un impact négatif sur les performances des fichiers mis en cache chaque fois qu'une mise à jour du code par rapport au contenu/à l'utilisation est effectuée.

En réponse aux clarifications apportées aux commentaires , en théorie/pratique, les systèmes de gestion de versions ne doivent pas suivre les téléchargements, à moins que SQL soit également versionné, ce qui, dans ce cas, ne le serait pas. t être trop préoccupé par cela.

3
codearachnid