Was ist der beste Weg, um ein Plugin zu modifizieren? Ich möchte häufig kleine Änderungen an einer oder zwei Funktionen in einem großen Plugin vornehmen. Dies ist einfach, aber ich muss Kommentare verwenden, um meine Änderungen zu markieren und das Plugin nach einem Update erneut zu ändern. Im Idealfall möchte ich das Plugin in Ruhe lassen und meine Änderungen an anderer Stelle vornehmen, ähnlich wie wir es mit Themen und untergeordneten Themen tun. Kann ich ein Plugin erstellen, das das übergeordnete Plugin erfordert und dieses überschreibt?
plugins
customization
Mike Wheaton
quelle
quelle
Antworten:
Meiner Meinung nach besteht der beste Ansatz darin, entweder das Plugin zu erweitern, um Ihre Änderungen beizubehalten, oder Patches an den Plugin-Entwickler zu senden, damit Ihre Änderungen Teil des ursprünglichen Plugins werden.
Das Erstellen eines "Child Plugins" ist wirklich nicht einfach. Das „Child Theme“ -Konzept gilt eigentlich für die Template - Dateien , die zu gewöhnen, um so mehr , als die Theme - Funktionen (und in der Tat, die
functions.php
Datei von Eltern und Kind bekommen geladen, die funktioniert für falsch codierte Probleme verursachenfunctions.php
Dateien entweder das Kind oder Elternteil Thema).quelle
Der "richtige" Weg hängt natürlich vom Plugin ab. Einige Plugins sind einfacher zu bearbeiten als andere, aber die meisten Plugins können tatsächlich von anderen Plugins geändert werden.
Wenn ein Plugin beispielsweise eine Funktion hat, die mit einer Aktion in WordPress verknüpft ist, können Sie ganz einfach ein anderes Plugin erstellen, das diese Funktion mit remove_action deaktiviert und stattdessen Ihre Ersetzungsfunktion hinzufügt. Mit dieser Methode können Sie einzelne Funktionen in Plugins durch Ihre eigenen geänderten Versionen ersetzen, ohne das ursprüngliche Plugin zu ändern.
Dasselbe Konzept funktioniert natürlich mit Filtern.
quelle
Der beste Weg wäre, es einfach zu klonen und den Plugin-Namen in der Kopfzeile zu ändern und den Verzeichnisnamen zu ändern. Auf diese Weise könnte auch das Original installiert, aber nicht aktiviert werden, sodass Sie weiterhin Benachrichtigungen erhalten, wenn Updates veröffentlicht werden.
quelle
Dies ist relativ einfach, wenn sich das Plugin aufgrund der Verteilung von Git in der Git-Quellcodeverwaltung befindet, sich jedoch viele WordPress-Plugins (und alle im offiziellen Repository) in Subversion befinden. Ich verwende Vendor Branches und svn_load_dirs.php, wenn ich wirklich ein Plugin modifizieren muss, aber dies erfordert einen einigermaßen hohen Komfort mit Subversion.
Wenn das Plugin kein Repository zur Verfügung stellt, würde ich empfehlen, es selbst in ein Git-Repository umzuwandeln und neue Versionen manuell anzuwenden.
Letztendlich sind Versionskontrollsysteme die einzig vernünftige Möglichkeit, Änderungen an neuen Upstream-Versionen erneut anzuwenden.
quelle
Ich stimme der Antwort von Annika Backstrom zu , möchte aber meine bevorzugte Lösung mitteilen.
Da die meisten Plugins unter svn laufen, benutze ich ein Tool namens git-svn, um einen Git-Spiegel zu erstellen.
Dann mache ich einfach eine Verzweigung und übertrage meine Änderungen dort.
Wenn das Plugin upstream aktualisiert wird, ziehe ich es einfach aus dem SVN-Repo und füge es in meinen benutzerdefinierten Zweig ein.
quelle