Je travaille sur un projet WordPress plutôt volumineux avec plus de 40 plugins, y compris un ensemble de plugins sur mesure spécifiques à ce projet.
Cela complique la navigation dans le dossier des plugins WordPress. Est-il possible "d'organiser" le dossier plugins pour ressembler davantage à l'exemple ci-dessous?
- plugins
- wp-plugins // All plugins downloaded from WordPress
- custom-plugins // All custom written plugins
La réponse courte est non.
WordPress définit les chemins de plug-in permettant aux auteurs de plug-ins d'utiliser les fonctions de contenu du plugin pour localiser leurs fichiers. Ces derniers sont contrôlés par le contenu WordPress constantes qui sont définies dans le fichier
wp-includes/default-constants.php
Cependant, bien que les chemins soient personnalisables, WordPress ne recherche que cet emplacement. La seule exception à cette règle concerne les installations réseau comportant un dossier supplémentaire muplugin
qui WP recherchera les plug-ins à utiliser impérativement .
WordPress appelle la fonction wp_get_active_and_valid_plugins pour charger des plugins au moment de l'exécution, mais ne fournit aucun point d'ancrage pour modifier le processus de chargement.
D'une certaine manière, c'est possible.
Un plugin, par définition, est un fichier qui a son en-tête et qui se trouve soit dans le répertoire plugins, soit sur une couche "inférieure". Si tous vos plugins personnalisés ne représentent qu’un fichier, il sera facile de créer une structure de répertoires à votre guise. Il est également techniquement possible de réaliser de plus gros plugins de cette façon, mais à partir d'un POV de développement, vous aurez probablement du mal à gérer le développement de chacun projet, et il sera difficile de gérer plusieurs sous-arbres sur le même répertoire).
Il devrait être beaucoup plus facile de créer un gros plugin organisé en modules, avec un panneau de contrôle contrôlant les modules. Cela devrait suffire, car des fonctionnalités telles que la mise à jour et la suppression ne sont pas pertinentes pour vos plugins personnalisés.
OTOH, vous devriez probablement envisager de simplement déplacer ces plugins dans votre code de thème. Bien que la surcharge d'avoir le code en tant que plug-in soit probablement nulle, il est inutile de séparer de la sorte certaines parties de votre propre code.