To nie jest pytanie o to, jak zbudować wtyczkę WordPress. Raczej, jakie, jeśli w ogóle, przewodniki można zastosować do tego, jak złożyć architekturę plików dowolnej wtyczki.
Niektóre inne języki programowania lub biblioteki mają bardzo kontrolowane sposoby organizowania katalogów i plików. Czasami jest to denerwujące i podkreśla swobodę, jaką oferuje PHP, ale z drugiej strony wtyczki WordPress są zestawiane w dowolny sposób określony przez ich autora.
Nie ma właściwej odpowiedzi , ale mam nadzieję, że dopracuję sposób, w jaki ja i inni tworzymy wtyczki, aby były bardziej przyjazne dla innych programistów, aby się rozłączyli, łatwiej debugować, łatwiej nawigować i być może bardziej wydajne.
Ostatnie pytanie: jaki według Ciebie jest najlepszy sposób na zorganizowanie wtyczki?
Poniżej znajduje się kilka przykładowych struktur, ale w żadnym wypadku nie jest to wyczerpująca lista. Dodaj własne rekomendacje.
Zakładana domyślna struktura
/wp-content
/plugins
/my-plugin
my-plugin.php
Metoda Model View Controller (MVC)
/wp-content
/plugins
/my-plugin
/controller
Controller.php
/model
Model.php
/view
view.php
my-plugin.php
Trzy części MVC:
- W modelu współgra z bazą danych, zapytań oraz zapisywania danych i zawiera logikę.
- Kontroler będzie zawierać szablon tagi i funkcje, że widok będzie wykorzystują.
- Widok odpowiada wyświetlania danych dostarczonych przez model tak skonstruowany przez kontroler.
Organizowane według metody typu
/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
Dostępne na Github
Na podstawie interfejsu API wtyczki , standardów kodowania i standardów dokumentacji .
/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
Luźno zorganizowana metoda
/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/
i js/
będzie styles/
, images/
i scripts/
.