Quelle est la meilleure façon de modifier un plugin? Je souhaite souvent apporter de petites modifications à une ou deux fonctions dans un gros plugin. Cela se fait facilement, mais je dois utiliser des commentaires pour marquer mes changements et modifier à nouveau le plugin après une mise à jour. Idéalement, je voudrais laisser le plugin seul et apporter mes modifications ailleurs, un peu comme nous le faisons avec les thèmes et les thèmes enfants. Puis-je créer un plugin qui nécessite le plugin parent et le remplacera?
plugins
customization
Mike Wheaton
la source
la source
Réponses:
À mon humble avis, la meilleure approche consiste soit à bifurquer le plugin pour maintenir vos modifications, soit à soumettre des correctifs au développeur du plugin, pour que vos modifications fassent partie du plugin d'origine.
Créer un "plugin enfant" n'est vraiment pas facile. Le concept "Thème enfant" s'applique vraiment aux fichiers modèles qui sont utilisés, plus que les fonctions Thème (et en fait, le
functions.php
fichier des parents et des enfants est chargé, ce qui pose des problèmes pour lesfunctions.php
fichiers mal codés dans l'enfant ou le parent) Thème).la source
La "bonne" façon dépend évidemment du plugin. Certains plugins sont plus faciles à modifier que d'autres, mais la plupart des plugins peuvent en fait être modifiés par d'autres plugins.
Par exemple, si un plugin a une fonction connectée à WordPress avec une action, il vous suffit de créer un autre plugin qui décroche cette fonction avec remove_action, puis ajoute votre fonction de remplacement à la place. Ce type de méthode vous permettra de remplacer les fonctions individuelles des plugins par vos propres versions modifiées, sans modifier le plugin d'origine.
Le même concept fonctionne avec les filtres, évidemment.
la source
La meilleure façon serait de simplement le cloner et de changer le nom du plugin dans l'en-tête et de changer le nom du répertoire. De cette façon, vous pouvez également avoir l'original installé mais pas activé, vous recevrez donc des alertes lorsque les mises à jour seront publiées.
la source
C'est relativement facile si le plugin est sous contrôle de source Git en raison de la nature distribuée de Git, mais de nombreux plugins WordPress (et tous ceux du référentiel officiel) sont dans Subversion. J'utilise des branches de fournisseurs et svn_load_dirs.php si j'ai vraiment besoin de modifier un plugin, mais cela nécessite un niveau de confort assez élevé avec Subversion.
Si le plugin n'expose aucun référentiel, je vous recommande de le transformer vous-même en référentiel Git et d'appliquer manuellement de nouvelles versions.
En fin de compte, les systèmes de contrôle de version sont le seul moyen sensé de réappliquer les modifications aux nouvelles versions en amont.
la source
je suis d'accord avec la réponse d'Annika Backstrom , mais j'aimerais partager ma solution préférée.
Comme la plupart des plugins sont sous svn, j'utilise un outil appelé git-svn pour créer un miroir git.
Ensuite, je crée simplement une branche et j'y valide mes modifications.
Lorsque le plugin est mis à jour en amont, je tire simplement du dépôt svn et je fusionne dans ma branche personnalisée.
la source