Це не питання про те, як створити плагін WordPress. Швидше, які, якщо такі є, посібники можна застосувати до того, як зібрати архітектуру файлів будь-якого плагіна.
Деякі інші мови програмування або бібліотеки мають дуже контрольовані способи організації каталогів та файлів. Іноді це дратує і підкреслює свободу, яку пропонує PHP, але на зворотному боці WordPress плагіни збираються будь-яким чином, як визначає їх автор.
Невірна відповідь , але я сподіваюся, щоб уточнити, як я та інші будують плагіни, щоб зробити їх більш приємними для інших розробників для невиконання, простішого налагодження, простішої навігації та, можливо, більш ефективної.
Останнє запитання: що ж ви думаєте , це кращий спосіб організувати плагін?
Нижче наведено кілька зразкових структур, але жодним чином не є вичерпним списком. Не соромтеся додавати власні рекомендації.
Передбачається структура за замовчуванням
/wp-content
/plugins
/my-plugin
my-plugin.php
Метод контролера перегляду моделі (MVC)
/wp-content
/plugins
/my-plugin
/controller
Controller.php
/model
Model.php
/view
view.php
my-plugin.php
Три частини MVC:
- У моделі взаємодіє з базою даних, запитів і збереження даних, а також містить логіку.
- Контролер буде містити шаблонні теги і функції, вид буде використовувати.
- Вид відповідає , щоб відобразити дані , надані моделлю , як будується з допомогою контролера.
Організовано за типовим методом
/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 плагін котла
Доступний на Github
На основі API плагінів , стандартів кодування та стандартів документації .
/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
Слабо організований метод
/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/
і js/
буде styles/
, images/
і scripts/
.