Как создать плагин

Как создать плагин

Сердцем любого плагина является PHP-код, логика его работы и правильное использование API WordPress. Целью каждого плагина должно быть создание новой функциональности с наименьшими накладными расходами, совместимость с ядром WordPress и корректная работа кода в постоянно обновляемой системе.

  • Создание плагина
  • Более подробную информацию см. в заголовке
  • Шаблон для создания плагина для WordPress
  • Крючки в плагине
  • Функции PHP и API WordPress
  • Как WordPress загружает плагины
  • Репозиторий плагинов WordPress

Создание плагина

Чтобы создать плагин для WordPress, вам необходимо:

Создайте папку plugins. Здесь будут содержаться файлы наших плагинов. Он создается в папке всех плагинов WordPress. Например, создайте папку /wp-content/plugins/my-plugin-name .

Создайте основной файл плагина. Рекомендуется, чтобы имя этого файла совпадало с именем папки plugins. Например, my-plugin-name.php → /wp-content/plugins/my-plugin-name/my-plugin-name.php .

Создайте описание плагина — заголовки плагина. Они необходимы для того, чтобы wordpress распознал плагин как плагин, иначе он просто не будет работать. В самом начале основного файла плагина нужно добавить php-комментарий, в котором указать название плагина:

Готово! Теперь наш плагин можно увидеть в разделе Plugins административной панели.

Если плагин состоит из одного файла, как Hello Dolly, вы можете поместить его прямо в папку plugins — /plugins/hello.php, и все будет работать. Однако рекомендуется стандарт: файлы плагинов должны находиться в собственной папке, а главный файл плагина должен иметь имя папки плагина.

Дополнительные данные в заголовке

Чтобы плагин работал, необходимо указать только Имя плагина. Но вы можете указать и другие параметры плагина — это улучшит отображение плагина в консоли WordPress.

Build In Post Plugin Name: (обязательно) Название плагина, которое отображается в списке плагинов в области администрирования. Описание: Краткое описание плагина, которое отображается в разделе Плагины в области администратора. Рекомендуется не превышать 140 символов. Версия:

Как разработать плагин на WordPress?

Номер текущей версии плагина, например, 1.0 или 1.0.3.

При установке версии обратите внимание, что WP использует функцию version_compare() для сравнения версий. Поэтому при изменении версии убедитесь, что новая версия выше. Например, 1,02 выше, чем 1,1.

URI плагина: Домашняя страница плагина, которая может находиться на WordPress.org или на вашем собственном сайте. Автор: Имя автора плагина. Может быть указано более одного автора. URI автора: веб-сайт автора или его профиль на другом сайте, например, WordPress.org. Требуется как минимум: самая низкая версия WordPress, на которой будет работать плагин. Например: 2.5 . Требуется PHP: Минимально необходимая версия PHP. Например: 5.4 . Лицензия: краткое название лицензии плагина, например GPL2. Более подробную информацию о лицензировании можно найти на сайте WordPress.org. License URI: Ссылка на лицензию, например, https://www.gnu.org/licenses/gpl-2.0.html . Text Domain: Идентификатор перевода (домен локализации), используемый в функциях локализации и в имени файла перевода mo. См. цитату здесь. Путь домена: требуется, если файл перевода находится не в той же папке, что и текущий файл. Например, файл .mo находится в /myplugin/languages, но плагин находится в /myplugin/myplugin.php, поэтому укажите здесь /languages. Network: укажите ‘true’, чтобы плагин был активирован на всей сети сайтов в MU-сборке WordPress. Это предотвратит активацию плагина для одного сайта, если активирована многосетевая сеть. Update URI: URL для обновления сайта. Используется в функции wp_update_plugins(). Для домена будет создан хук update_plugins_(hostname).

Шаблон для создания плагина WordPress

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

    — Template Generator, где вы указываете название плагина для использования в названиях папок, классов и функций — WordPress Plugin Boilerplate Generator.

Шаблон — это стандартизированная и структурированная объектно-ориентированная основа.

Используя этот подход, вы можете обеспечить более четкую и понятную структуру плагина. Таким образом, вы можете сгенерировать каркас, а затем просто удалить все ненужные файлы, оставив структуру папок — структура важна!

Хуки в плагине

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

В WordPress существует два типа крючков:

    — Они позволяют добавлять или изменять функциональность WordPress. — Они позволяют модифицировать данные.

Крючки нужны не только разработчикам плагинов, но и тем, кто будет использовать ваш плагин. Хуки используются везде: в самом ядре WordPress, в плагинах и в темах. Крючки — это то, что делает WordPress таким гибким.

Как создавать плагины Minecraft в Intellij IDEA. Часть 1

Непосредственно с плагинами связаны три функции:

register_activation_hook() — регистрирует функцию, которая будет вызываться при активации плагина.
Используется для добавления настроек плагина и т.д.

register_deactivation_hook() — регистрирует функцию, которая будет выполняться при деактивации плагина.
Он используется для удаления временных данных плагина.

Помимо этих трех функций, API плагина содержит все функции хука и некоторые функции плагина.

Вы можете создать свои собственные хуки в исходном коде плагина, используя функции do_action() или apply_filters(). Они позволят пользователям вашего плагина расширить его возможности, так же как WordPress позволяет вам расширить его функции.

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

PHP Функции и WordPress API

WordPress предоставляет ряд API. API могут значительно упростить написание кода. Это означает, что вам не придется изобретать колесо, когда оно уже есть.

Некоторые API WordPress:

    — Облегчает создание и управление опциями плагина, которые хранятся в базе данных.
    — Получает URL папки (каталога, папки), в которой находится определенный файл плагина (с косой чертой в конце). — Регистрирует функцию, которая будет выполняться при активации плагина. — Регистрирует функцию, которая будет вызвана при деактивации плагина. — Регистрирует функцию, которая запускается при деинсталляции плагина для очистки любых следов присутствия плагина в системе.
    — Облегчает создание HTTP-запросов в PHP. Отличная замена для cURLs.

Как WordPress загружает плагины

При активации плагина WordPress сохраняет путь к его основному файлу в параметре active_plugins . Затем, при загрузке любой страницы (админки и фронтенда), WordPress просто подключает все файлы из опции active_plugins (пути к ним хранятся там в виде массива). Посмотрите, как это выглядит:

Из всего этого: просто своим присутствием плагины не влияют на скорость работы сайта (кроме подключения файла плагина, что является сверхбыстрой операцией). Неактивные плагины не имеют никакого эффекта. Подробнее читайте здесь.

Репозиторий плагинов WordPress

Плагин может быть приватным (созданным только для одного сайта) или публичным (размещенным в репозитории плагинов WordPress).

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

Если вы планируете представить плагин на WordPress.org, вы должны следовать требованиям к названию плагина WordPress.

Лицензия указывает пользователям, как они могут использовать код плагина в своих целях. Чтобы сохранить совместимость с ядром WordPress, мы рекомендуем выбрать лицензию, которая работает с GNU General Public License (GPLv2+).

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями: