Заголовки плагина
Заголовки плагина - это важный компонент, который сообщает WordPress, что PHP файл внутри каталога плагинов является плагином WordPress. Такие заголовки выглядят как PHP комментарий в начале главного файла. У заголовков есть свой стандарт, ниже о нет.
Возможные заголовки плагина
Заголовок плагина должен находится в основном файле плагина и только там.
Как минимум, заголовок должен содержать имя плагина:
<?php /** * Plugin Name: Мой первый плагин */ // код плагина
В заголовке могут быть указанны и другие данные:
<?php /** * Plugin Name: Название плагина * Description: Описание плагина желательно не очень длинное (140 символов) * Plugin URI: Ссылка на страницу плагина * Author URI: Ссылка на автора * Author: Имя автора * Version: Версия плагина, например 1.0 * * Text Domain: ID перевода, указывается в load_plugin_textdomain() * Domain Path: Путь до файла перевода. * Requires at least: 2.5 * Requires PHP: 5.4 * * License: GPL2 * License URI: https://www.gnu.org/licenses/gpl-2.0.html * * Network: Укажите "true" для возможности активировать плагин для сети Multisite. * Update URI: https://example.com/link_to_update */ // код плагина
- Plugin Name:(обязательный)
- Название плагина, которое отображается в списке плагинов в админке.
- Description:
- Краткое описание плагина, которое отображается в разделе Плагины в в админке. Рекомендуется не превышать 140 символов.
- Version:
Номер текущей версии плагина, например, 1.0 или 1.0.3.
При установке версии имейте ввиду, что WP для сравнения версий использует функцию version_compare(). Поэтому при изменении версии убедитесь что новая версия будет выше. Например, 1.02 больше чем 1.1
- Plugin URI:
- Домашняя страница плагина, которая может быть на WordPress.org или на вашем собственном сайте.
- Author:
- Имя автора плагина. В списке может быть более одного автора.
- Author URI:
- Сайт автора или профиль на другом веб-сайте, например, WordPress.org.
- Requires at least:
- Самая низкая версия WordPress, на которой будет работать плагин. Например: 2.5.
- Requires PHP:
- Минимальная требуемая версия PHP. Например: 5.4.
- License:
- Короткое имя лицензии плагина, например GPL2. Более подробную информацию о лицензировании можно найти на WordPress.org.
- License URI:
- Ссылка на лицензию, например, https://www.gnu.org/licenses/gpl-2.0.html .
- Text Domain:
- Идентификатор перевода (домен локализации) используется в функциях локализации и в названии файла перевод mo. Подобрее смотрите цитату здесь.
- Domain Path:
- Нужен если файл перевода находится не в той же папке, в которой находится текущий файл. Например, .mo файл находится в папке
/myplugin/languages
, а файл плагина в/myplugin/myplugin.php
, тогда тут указываем/languages
. - Network:
- Укажите "true" чтобы плагин обязательно активировался по всей сети сайтов в MU сборке WordPress. Это сделает невозможным активировать плагин для одного сайта, если активирована мультисеть.
- Update URI:
- URL для обновления сайта. Используется в функции wp_update_plugins(). Из домена будет создан хук update_plugins_(hostname).
Размер заголовка
Заголовок плагина разбирается функцией 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 */