Modifier les plugins WordPress
J'ai ce qui est probablement une question très simple sur la modification d'un plugin WordPress. Je m'excuse pour la simplicité de ma question, car je suis très novice dans le travail avec du code qui peut être open-source et nouveau dans le développement de plugins.
J'ai trouvé un plugin qui fournissait une bonne solution pour un projet sur lequel je travaillais. Cependant, pour que cela fonctionne mieux pour mes besoins, j'ai modifié le code. Le plugin a un « GPLv2 ou plus tard » licence, qui repose sur ce semble dire que les modifications apportées au plug - in sont très bien, tant que je note tout change , je l' ai fait et que je publie le plug - in sous le « GPLv2 ou plus tard » licence aussi.
En raison des modifications que j'ai apportées au plugin, j'aimerais pouvoir le fournir à d'autres dans le cadre du travail client. Cependant, je ne suis pas sûr de la meilleure façon d'avancer.
Serait - il préférable de publier le plug - in avec un « GPLv2 ou plus tard » licence et mettre à jour moi - même (je l' ai fait très des changements mineurs au plugin)?
Ou serait-il préférable pour moi de contacter le propriétaire d'origine du plugin afin de collaborer et de proposer mes modifications? Si le propriétaire d'origine n'accepte pas mes modifications, quelles sont mes options?
Pour répondre aux questions de @ wrydere:
- Le plugin est gratuit, n'offre actuellement pas de mises à niveau payantes ou ne génère aucune sorte de profit.
- Je n'ai certainement pas le temps de maintenir ma propre version du plugin. Ce serait bien si je pouvais pour les clients, mais je ne vois pas cela de façon réaliste. Cependant, si je devais maintenir mon propre fork du plugin, si le propriétaire d'origine pousse les mises à jour, est-ce que j'accepterais ces mises à jour (avec mes propres modifications) inciterait le tableau de bord WordPress à me dire constamment de mettre à jour le plugin (car le code ne le fait pas) 't "match")? En gros, je voudrais pouvoir accepter les mises à jour du propriétaire à chaque fois que des mises à jour sont envoyées et conserver mes modifications sans que WordPress ne m'informe que je dois "mettre à jour" le plugin.
- Pour l'instant, non, je ne pense pas que le comportement doive être accompli dans un plugin secondaire. Est-ce que ça pourrait être? Probablement. Mais l'essentiel du gros du travail a déjà été fait avec ce plugin, donc en créer un nouveau reviendrait à recréer la roue.
Réponses
Dans l'esprit des logiciels open source, je commencerais certainement par contacter le développeur d'origine. Si vos modifications sont une amélioration de la base de code et ne prennent pas la fonctionnalité du plugin dans une nouvelle direction, la collaboration peut être la bienvenue.
Si vos modifications sont rejetées par le développeur d'origine, il y a d'autres éléments à considérer avant de continuer:
Le plugin que vous avez initialement créé est-il un plugin gratuit ou payant? Ou est-ce gratuit mais offre-t-il des surclassements payants (freemium)? S'il génère des revenus de quelque manière que ce soit, il est moralement discutable de le bifurquer et de le relâcher avec des changements mineurs.
Avez-vous le temps, la bande passante et le désir de maintenir une nouvelle version fourchue du plugin original? Sinon, vous ne voudrez probablement pas le publier publiquement juste pour mettre vos très petits changements entre les mains d'autres personnes. Vous feriez peut-être mieux de maintenir votre propre fork du plugin, pour vos propres projets.
Les modifications de comportement pourraient-elles être effectuées dans un plugin secondaire? Il existe de nombreux exemples de plugins qui nécessitent / modifient / s'appuient sur d'autres plugins. Cette route nécessite de se tenir au courant des mises à jour du noyau WP et du plugin initial, ce qui peut être un casse-tête, mais s'il est possible d'apporter vos modifications via des crochets, des actions et le remplacement (sûr et sain) des fonctions du plugin d'origine, cela pourrait être une route à explorer.
Désolé de ne pas avoir fourni de réponse définitive, mais la situation pourrait indiquer de nombreux résultats possibles.