get_plugin_data()
Получает данные плагина (указанные в заголовках) по переданному пути на основной файл плагина.
Все данные берутся из заголовков плагина. Данные плагина должны располагаться на отдельной строке. В описании плагинов не должно быть переносов строк, иначе только часть описания будет показана.
Формат заголовка такой:
/* * Plugin Name: Название * Plugin URI: Ссылка на инфо о плагине * Description: Описание * Author: Имя автора * Author URI: Ссылка на автора * Version: Версия плагина * ... */
Все заголовки плагина смотрите здесь.
Функция обрабатывает только первые 8kiB (6000-8000 символов) информации (см. get_file_data()). Если вдруг данные плагина получаются больше, то автору придется их уменьшить или переместить данные плагина наверх (некоторые авторы перед данными добавляют информацию о лицензии и т.п.).
Функция подключается (работает) только в админ-панели, начиная с события admin_init. Т.е. во время событий: plugins_loaded, init, wp_loaded функция еще не определена.
Когда нужно получить данные пораньше, можно использовать похожую функцию get_file_data().
Если $markup = true или $translate = true (как по умолчанию), функция косвенно вызывает wptexturize(), потенциально ломая другие плагины, если это происходит до хука init.
Хуков нет.
Возвращает
Массив. Массив данных:
Array( [Name] => AJAX Simply [PluginURI] => https://wp-kama.ru/9054 [Version] => 1.8.1 [Description] => Allows you to create AJAX requests in WordPress in a very simple way. By Kama. [Author] => Kama [AuthorURI] => https://wp-kama.ru/ [TextDomain] => jxs [DomainPath] => /lang/ [Network] => [RequiresWP] => [RequiresPHP] => 7.4 [UpdateURI] => [RequiresPlugins] => [Title] => AJAX Simply [AuthorName] => Kama )
Мапинг срок: значение массива - это строка которая должна быть в файле, ключ - соответствует ключу возвращаемого массива:
$default_headers = array( 'Name' => 'Plugin Name', 'PluginURI' => 'Plugin URI', 'Version' => 'Version', 'Description' => 'Description', 'Author' => 'Author', 'AuthorURI' => 'Author URI', 'TextDomain' => 'Text Domain', 'DomainPath' => 'Domain Path', 'Network' => 'Network', 'RequiresWP' => 'Requires at least', 'RequiresPHP' => 'Requires PHP', 'UpdateURI' => 'Update URI', );
Использование
get_plugin_data( $plugin_file, $markup, $translate );
- $plugin_file(строка) (обязательный)
- Путь к основному файлу плагина. Пр: __FILE__.
- $markup(логический)
- Выводить HTML разметку в данных (true) или нет (false).
По умолчанию: true - $translate(логический)
- Переводить данные или нет.
По умолчанию: true
Примеры
#1 Получим данные
Пример, как можно получить данные плагина при создании плагина.
Хотя, я что-то с трудом могу представить, где это может понадобиться, поэтому пусть это будет демонстрационный пример:
add_action('admin_init', function(){
$data = get_plugin_data(__FILE__);
echo $data['Name']; // выведет название плагина
} );
Список изменений
| С версии 1.5.0 | Введена. |
| С версии 5.3.0 | Added support for Requires at least and Requires PHP headers. |
| С версии 5.8.0 | Added support for Update URI header. |
| С версии 6.5.0 | Added support for Requires Plugins header. |