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-pluginmy-plugin.php
Model View Controller (MVC) -Methode
/wp-content/plugins/my-plugin/controllerController.php
/modelModel.php
/viewview.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/adminadmin.php
/assetscss/images/
/classesmy-class.php
/langmy-es_ES.mo
/templatesmy-template.php
/widgetsmy-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/partialsmy-plugin-admin.php
/includesmy_plugin_activator.phpmy_plugin_deactivator.phpmy_plugin_i18n.phpmy_plugin_loader.phpmy_plugin.php
/languagesmy_plugin.pot
/public/css/js/partialsmy-plugin-public.php
LICENSE.txtREADME.txtindex.phpmy-plugin.phpuninstall.php
Locker organisierte Methode
/wp-content/plugins/my-plugincss/images/js/my-admin.phpmy-class.phpmy-template.phpmy-widget.phpmy-plugin.php
css/, images/und js/wäre styles/, images/und scripts/.