Заголовки плагина
Заголовки плагина - это сперциальные, комментарии, которые сообщают WordPress, что это плагин и текущий файл (где расположены заголовки) является главным файлом плагина с которого плагин начинает работу.
Такие заголовки выглядят как PHP комментарий в начале файла. Ниже рассмотрим страндарт этих заголовков.
Возможные заголовки плагина
Заголовок плагина должен находиться в основном файле плагина и только там.
Как минимум, заголовок должен содержать имя плагина:
<?php /** * Plugin Name: Мой первый плагин */ // код плагина
В заголовке могут быть указаны и другие данные:
<?php /** * Plugin Name: Название плагина * Description: Описание плагина (140 символов) * * Plugin URI: Ссылка на страницу плагина * Author URI: Ссылка на автора * Author: Имя автора * * Text Domain: ID перевода, указывается в load_plugin_textdomain() * Domain Path: /Путь до файла перевода * * Requires at least: 5.7 * Requires PHP: 7.0 * * License: GPL2 * License URI: https://www.gnu.org/licenses/gpl-2.0.html * * Network: true - активирует плагин для всей сети * Update URI: https://example.com/link_to_update * * Requires Plugins: some-plugin, some-plugin-2 * * Version: 1.0 */ // код плагина
- Plugin Name:(обязательный)
- Название плагина, которое отображается в списке плагинов в админке.
- Description:
- Краткое описание плагина, которое отображается в разделе Плагины в админке. Рекомендуется не превышать 140 символов.
- Version:
- Номер текущей версии плагина, например, 1.0 или 1.0.3.
При установке версии имейте в виду, что WP для сравнения версий использует функцию version_compare(). Поэтому при изменении версии убедитесь, что новая версия будет выше. Например, 1.02 больше, чем 1.1.
- Plugin URI:
- Домашняя страница плагина, которая может быть на WordPress.org или на вашем собственном сайте.
- Имя автора плагина. В списке может быть более одного автора.
- Сайт автора или профиль на другом веб-сайте, например, WordPress.org.
- Requires at least:
- Минимальная требуемая версия WordPress. Например: 5.7.
- Requires PHP:
- Минимальная требуемая версия PHP. Например: 7.4.
- License:
- Короткое имя лицензии плагина, например GPL2. Более подробную информацию о лицензировании можно найти на WordPress.org.
- License URI:
- Ссылка на лицензию, например, https://www.gnu.org/licenses/gpl-2.0.html.
- Text Domain:
Идентификатор перевода (домен локализации), используется в функциях локализации и в названии файла перевода
.moили.l10n.php.Подробнее смотрите цитату здесь.
- Domain Path:
Указывает путь к папке где нужно искать файлы перевода.
Обычно тут указывается
/languagesи при этом в плагине есть папкаlanguages, в которой лежат.moили.l10n.phpфайлы перевода.Значение должно начинаться со слэша
/. Если слэша нет, то может возникнуть ошибка. Замечено на WP 6.8, когда файл перевода подключается автоматически (в коде не используется load_plugin_textdomain())- Network:
- Укажите "true", чтобы плагин обязательно активировался по всей сети сайтов в MU сборке WordPress. Это сделает невозможным активировать плагин для одного сайта, если активирована мультисеть.
- Update URI:
- URL для обновления сайта. Используется в функции wp_update_plugins(). Из домена будет создан хук update_plugins_(hostname).
- Requires Plugins:(WP 6.5)
Список плагинов, от которых зависит текущий плагин. Нужно указывать ярлыки плагинов (через запятую). Например,
my-plugin(обычно это название папки плагина).Формат
my-plugin/my-plugin.phpне поддерживается.Подробнее про зависимости плагина читайте здесь.
Размер заголовка
Заголовок плагина разбирается функцией get_plugin_data(), которая обрабатывает только первые 8KiB (6000-8000 символов) информации, и если данные плагина получаются больше, то автору придется их уменьшить или переместить данные плагина наверх. Такое может произойти, если, например, добавить данные о лицензии перед данными плагина.
Указание лицензии плагина
Большинство плагинов WordPress опубликованы под лицензией GPL, что соответствует той же лицензии, которую использует сам WordPress. Тем не менее, есть и другие варианты. Лучше всегда четко указать, какую лицензию использует ваш плагин.
Выше было показано, что лицензию можно указать в параметре заголовка License:. Но есть еще одна распространенная практика - поместить блок лицензии под заголовками плагина в основном файле плагина.
Блок лицензии выглядит примерно так:
{Plugin Name} is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
any later version.
{Plugin Name} is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with {Plugin Name}. If not, see {URI to Plugin License}.
Объединив с заголовками плагина, получим:
/**
* Plugin Name: Plugin Name
* Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
* Description: This describes my plugin in a short sentence
* Version: 1.5
* Author: John Smith
* Author URI: http://URI_Of_The_Plugin_Author
* License: GPL2
*
* {Plugin Name} is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* any later version.
*
* {Plugin Name} is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with {Plugin Name}. If not, see {License URI}.
*/
PHPDoc DocBlock
В заголовки также можно подмешивать что угодно, например, можно добавить блок документации PHPDoc для различных IDE:
/** * Plugin Name * * @package PluginPackage * @author Your Name * @copyright 2019 Your Name or Company Name * @license GPL-2.0-or-later * * @wordpress-plugin * Plugin Name: Plugin Name * Plugin URI: https://example.com/plugin-name * Description: Description of the plugin. * Version: 1.0.0 * Requires at least: 5.2 * Requires PHP: 7.2 * Author: Your Name * Author URI: https://example.com * Text Domain: plugin-slug * License: GPL v2 or later * License URI: http://www.gnu.org/licenses/gpl-2.0.txt */
--
Читайте также: https://developer.wordpress.org/plugins/plugin-basics/header-requirements/