Ich entwickle ein paar Open-Source-Plugins und ein Thema (alle Teil einer "Suite"), die alle dieselbe PHP-Bibliothek eines Drittanbieters verwenden. Ich frage mich, wie ich es am besten in Wordpress aufnehmen kann. Hier sind einige Gedanken:
- Fügen Sie es in eines der Plugins ein und erfordern Sie, dass das Plugin installiert und aktiviert ist
- Erstellen Sie ein spezielles "Core" -Plugin, das nichts anderes tut, als es einzuschließen
- setzen Sie es direkt in
wp-content
Irgendwelche Gedanken dazu?
Antworten:
Wenn jedes Plugin / Theme für sich funktioniert, sollten Sie die Bibliothek wahrscheinlich in jedem Theme / Plugin löschen.
Überprüfen Sie dann einfach, ob eine Klasse oder Funktion aus der Bibliothek eines Drittanbieters vorhanden ist, bevor Sie sie anfordern.
oder
Alternativ können Sie jede Funktion / Klasse / Variable / Konstante aus der Bibliothek eines Drittanbieters überprüfen, um festzustellen, ob sie vorhanden ist, z. B. steckbare Funktionen .
Wenn alle Plugins und das Thema voneinander abhängig sind, ist es nicht sehr sinnvoll, sie aufzuteilen, und Sie sollten das wahrscheinlich überdenken.
quelle
library
Ordner in jedem Plugin / Theme ablegen. Führen Sie dann in Ihrer Haupt-Plugin-Datei die Prüfung aus und fügen Sie sie gegebenenfalls hinzu.Binden Sie den gesamten abhängigen Code an eine Aktion im Bibliotheks-Plugin.
Beispielcode für das Bibliotheks-Plugin:
Tun Sie in Ihrem abhängigen Code nichts, bevor die Aktion aufgerufen wurde:
Die Bibliothek verwaltet alle grundlegenden Teile: Überprüfen Sie die richtige PHP-Version, WordPress-Konstanten, Multi-Site-Setups usw.
Der andere Code führt nichts aus, wenn die Aktion
'library_loaded'
nicht aufgerufen wird.quelle
Wenn Ihre Bibliotheken die Form von PHP-Klassen haben, können Sie diese Klassen mit spl_autoload_register () laden, wenn sie noch nicht von einem anderen Plugin geladen wurden. Sie können die Bibliotheken dann in Ihrem Plugin bündeln und einfach verwenden, wobei Sie sich darauf verlassen können, dass der Klassenladeprogramm sie gegebenenfalls einschließt. Sie können auch den Klassenlader verwenden, um die Klassen Ihres eigenen Plugins zu laden.
z.B
quelle
Da es kein offizielles Herstellerverzeichnis gibt , würde ich mich für das "Kern" -Plugin entscheiden, das nur die Bibliothek enthält. Sie stellen dann sicher, dass Ihre Plugins dieses Kern-Plugin benötigen.
Wenn Sie die Bibliothek in eines Ihrer echten Plugins einfügen möchten, muss der Benutzer dieses Plugin aktiviert haben, auch wenn er seine Funktionalität möglicherweise nie nutzen möchte. Ein separates Core-Plugin scheint sauberer zu sein.
Es direkt in wp-Inhalt zu setzen, scheint die schlechteste Lösung zu sein.
quelle