Заголовки плагина
Заголовки плагина - это важный компонент, который сообщает WordPress, что PHP файл внутри каталога плагинов является плагином 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. Подробнее смотрите цитату здесь.
- Domain Path:
- Нужен, если файл перевода находится не в той же папке, в которой находится текущий файл. Например, .mo файл находится в папке
/myplugin/languages
, а файл плагина в/myplugin/myplugin.php
, тогда тут указываем/languages
. - 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/