Полезные советы по разработке плагинов для WordPress

Разработка плагиновКомментариев нет

В данной статье будут полезные заметки для разработки плагина WordPress.

С версии WordPress 1.2 появилась возможность создавать плагины, тем самим меня работу движка для своих нужд. До этой версии все изменения вносились прямо в ядро, что было неудобно, так как при обновлении wordpress все изменения затерались.

Прежде чем создавать свой плагин, рекомендую посмотреть каталог плагинов вордпресс (Плагины) возможно уже есть готовое решение вашей задачи.

Полезные ресурсы:

  1. Plugin Resources — пособия для опытных разработчиков
  2. Plugin Submission and Promotion — как можно распространять ваш плагин

Имя плагина

Имя плагина должно быть уникальным, что бы оно не совпадало с именами других плагинов. В противном случае одинаковые названия плагинов могут привести к сбоям в работе или критическим ошибкам. В названиях лучше не использовать спецсимволы, знаки «_»(лучше использовать «-«) или заглавные буквы. Все функции вашего плагина должны иметь уникальные имена, отличные от имен функций ядра WordPress, других плагинов или тем.

Файл Readme

Если вы хотите разместить свой плагин в каталоге плагинов вордпресс(плагины), то вам необходимо будет создать файл readme.txt. Вот пример как он должен быть построен:

https://wordpress.org/plugins/about/readme.txt

Шапка для плагина

Что бы ваш плагин заработал нужно в корневой папке вашего плагина создать файл который будет начинаться со следующей информации:

Без этих данных ваш плагин не будет работать.

Далее должна идти информация о лицензии распространения плагина, если вы собираетесь бесплатно распространять плагин, то вам нужно прописать ниже указанной выше информации:

Это лицензия GPL более подробно тут.

Теперь можно приступить к программированию плагинов.

Зацепки (Hook) плагина

Для того что бы влиять на работу ядра wordpress была разработана система хуков(«хук» от англ. hook — крючок, зацепка). Принцип работы состоит в том что каждая более или менее важная функция ядра вордпресс(или другого плагина) перед выводом информации или произведения действия пытается найти хуки и выполнить действия прописанные в них.

Пример того как функция вордпресс разрешает перед выводом изменить значение выводимой переменной:

Перед выводом будет искаться хук на событие «the_title», если он будет найден, то будет выполнен код прописанный в найденной функции, в противном случае текущий код сработает как есть. Ниже приведу пример хука на событие «the_title»:

Все хуки(зацепки) в вордпресс делятся на 2 категории Фильтры и Действия. (filters и actions соответственно).

Приведу определения из кодекса:

Фильтры (filters) предназначены для «фильтрования» (изменения) любых данных перед тем как они будут выведены на странице или добавлены для хранения в базу данных. Это фильтрация спама, ошибок или просто ошибочного ввода в формах, откуда собственно и произошло английское название.

Действия (actions) предназначены для замены различных действий ядра вашими действиями (например изменения строки запроса к базе данных), в программировании такое изменение действий базового функционала ещё называют перегрузкой.

Написание своих функций

Так же вы можете писать свои функции которые можно будет использовать так же как и функции для шаблонов вордпресс. Например в шаблоне мы часто используем функцию the_title() для вывода заголовка. Мы можем написать свою функцию, например onwp_the_title(), которая будет добавлять к заголовку надпись «- крутейшая статья!». Эту функцию(прописанную в плагине) можно будет выполнять в любом месте в шаблоне(в основном цикле).

При написании своих функций важно оставлять как можно более подробное описание ее работы, для того что бы пользователь четко понимал где и как применять.

Работа плагина с базой данных

Для работы с базой данных вам помогут следующие вопросы и ответы, с тегом wpdb у нас на сайте(будут вопросы, задавайте).

Интернационализация плагина

Важной частью плагина является возможность перевода его на другие языки. Вордпресс очень распространенная система, поятому для большей популяности необходимо заложить возможность перевода. Более подробно эта тема раскрыта в следующие статье: Интернационализация(локализация) для разработчиков WordPress.

Подключаем скрипты/стили

  1. newscript — уникальное название
  2. plugins_url( ‘/js/newscript.js’, __FILE__ ) — путь до файла(еще можно использовать WP_PLUGIN_URL . ‘/’ . dirname(plugin_basename(__FILE__)) . ‘/js/newscript.js’)
  3. array(‘jquery’) — говорит о том что для работы скрипта обязательно нужен jquery
  4. false — версия вашего скрипта(строка)
  5. true — данное значение определяет где выводить скрипт. False — в wp-head(). True — wp-footer().

Функция wp_enqueue_script обычно вызываться (вешаться на хуки) во время следующих событий:
wp_enqueue_scripts — для внешней части сайта;
admin_enqueue_scripts — для панели управления;
login_enqueue_scripts — для страницы входа.

wp_enqueue_style — для подключения стилей, вешать можно на хуки прописанные выше.

Jquery в плагинах

В плагинах вордперсс, что бы не было конфликтов, игнорируется использование $, вместо данного символа следует использовать  jQuery

Например:

Что бы добавить возможность использование сокращенного символа $ нужно прописать следующее:

Функция get_the_content()

Данная функция выводит чистый контент, который не обрабатывается фильтрами как the_content(). То есть не будет форматирования (допустим тегов), не будут работать шорткоды, то есть просто текст, ссылки и картинки. Что бы используя данную функцию вывести контент так же, как это сделала бы функция the_content(), нужно написать добавить следующий фильтр:


Будь первым кто прокомментирует статью.

Добавить комментарий

Войти с помощью: