Dies ist keine Frage zum Erstellen eines WordPress-Plugins. Vielmehr könnten, wenn überhaupt, Anleitungen angewendet werden, wie die Dateiarchitektur eines Plugins zusammengestellt werden kann.
Einige andere Programmiersprachen oder Bibliotheken verfügen über sehr kontrollierte Methoden zum Organisieren von Verzeichnissen und Dateien. Manchmal ist das ärgerlich und unterstreicht die Freiheit, die PHP bietet, aber auf der anderen Seite werden WordPress-Plugins auf jede vom Autor festgelegte Weise zusammengestellt.
Es gibt keine richtige Antwort , aber ich hoffe zu verfeinern, wie ich und andere Plugins erstellen, um sie für andere Entwickler benutzerfreundlicher zu gestalten, leichter zu debuggen, einfacher zu navigieren und möglicherweise effizienter zu gestalten.
Die letzte Frage: Was ist Ihrer Meinung nach der beste Weg, ein Plugin zu organisieren?
Im Folgenden sind einige Beispielstrukturen aufgeführt, die jedoch in keiner Weise erschöpfend sind. Fühlen Sie sich frei, Ihre eigenen Empfehlungen hinzuzufügen.
Angenommene Standardstruktur
/wp-content
/plugins
/my-plugin
my-plugin.php
Model View Controller (MVC) -Methode
/wp-content
/plugins
/my-plugin
/controller
Controller.php
/model
Model.php
/view
view.php
my-plugin.php
Die drei Teile von MVC:
- Das Modell interagiert mit der Datenbank, fragt ab und speichert Daten und enthält Logik.
- Der Controller würde Vorlagen-Tags und -Funktionen enthalten, die die Ansicht verwenden würde.
- Die Ansicht ist dafür verantwortlich, die vom Modell bereitgestellten Daten anzuzeigen, wie sie vom Controller erstellt wurden.
Nach Typmethode organisiert
/wp-content
/plugins
/my-plugin
/admin
admin.php
/assets
css/
images/
/classes
my-class.php
/lang
my-es_ES.mo
/templates
my-template.php
/widgets
my-widget.php
my-plugin.php
WordPress Plugin Boilerplate
Erhältlich bei Github
Basiert auf der Plugin-API , den Codierungsstandards und den Dokumentationsstandards .
/wp-content
/plugins
/my-plugin
/admin
/css
/js
/partials
my-plugin-admin.php
/includes
my_plugin_activator.php
my_plugin_deactivator.php
my_plugin_i18n.php
my_plugin_loader.php
my_plugin.php
/languages
my_plugin.pot
/public
/css
/js
/partials
my-plugin-public.php
LICENSE.txt
README.txt
index.php
my-plugin.php
uninstall.php
Locker organisierte Methode
/wp-content
/plugins
/my-plugin
css/
images/
js/
my-admin.php
my-class.php
my-template.php
my-widget.php
my-plugin.php
css/
, images/
und js/
wäre styles/
, images/
und scripts/
.