Задать вопрос
R0s0maxa
@R0s0maxa
junior web-developer

Паттерны для написания плагинов Wordpress?

Wordpress не способствует красивому коду при написании плагинов. Из-за чего весь код превращается в абсолютную лапшу неструктурированных функций и их вызовов. Используете ли вы какие-нибудь паттерны или что-нибудь в таком духе для структурирования кода своих экстеншенов?
  • Вопрос задан
  • 896 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Комментировать
sivabur
@sivabur
Заблокировали просто так!
1.Отельная папка для плагина.
2.файл который выполняется при активации -install.php в корне(установка настроек плагина,создания кастомной таблицы в базе)
Деактивацию - в корне uninstall.php(удаления настроек, кастомной таблицы в базе)
3. В папке assets: папки css,img,js. В папке includes подключаемые файлы php.В папке lang файлы перевода.
4. Главный файл по названия плагина. В нем только установка хуков. Подключения остальных файлов.Файл readme.txt по стандарту.

Ну и никто вам не запрещает использовать ООП код. Или структурировать свой код по файлам/классам.

пример
class emailer {
  static function send($post_ID)  {
    $friends = 'bob@example.org,susie@example.org';
    mail($friends,"sally's blog updated",'I just put something on my blog: http://blog.example.com');
    return $post_ID;
  }
}

add_action('publish_post', array('emailer', 'send'));


Ну а вообще гляньте как написаны хороши/популярные большие плагины. Благо код у большинства полностью открыт.И возьмите шаблон который вам понравится на вооружения.
Ну и про стандарты кодирования wordpress для php, html, css, js не стоит забывать.

https://github.com/hlashbrooke/WordPress-Plugin-Te...

admin-page-framework.michaeluno.jp/tutorials
Ответ написан
Комментировать
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Если плагин простенький - обычный функциональный паттерн. Если чуть сложнее - одним файлом с одним классом. Если что-то сложнее - уже упомянутый WordPress Plugin Boilerplate (оф. сайт)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы