Функция get_plugin_data()
предоставляет разработчикам возможность извлекать метаданные из основного файла плагина WordPress. Эта функция анализирует содержимое файла плагина и возвращает информацию, такую как название, версия, автор и описание, что значительно упрощает управление плагинами.
get_plugin_data( string $plugin_file, bool $markup = true, bool $translate = true ): array
Описание параметров
- $plugin_file (строка, обязательный): Полный путь к основному файлу плагина.
- $markup (логический, необязательный): Определяет, следует ли применять HTML-разметку к возвращаемым данным. По умолчанию
true
. - $translate (логический, необязательный): Определяет, следует ли переводить данные. По умолчанию
true
.
Возврат
Функция возвращает массив с метаданными плагина. Если данные не указаны, соответствующие значения будут пустыми.
Пример структуры заголовка плагина
Перед использованием функции убедитесь, что ваш файл плагина содержит заголовки в правильном формате. Вот пример:
/*
Plugin Name: Мой Пример Плагина
Plugin URI: http://example.com/my-plugin
Description: Это пример плагина для демонстрации функции get_plugin_data().
Author: Ваше Имя
Author URI: http://example.com
Version: 1.0
Text Domain: my-plugin
Domain Path: /languages
Requires at least: 5.0
Requires PHP: 7.2
Network: true
*/
Пример 1: Получение данных плагина
Рассмотрим простой пример, где мы хотим получить данные о плагине и вывести его название в административной панели:
add_action('admin_init', function() {
if ( ! function_exists('get_plugin_data') ) {
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
}
$plugin_data = get_plugin_data(__FILE__);
echo "<h2>Название плагина: " . esc_html($plugin_data['Name']) . "</h2>";
});
В этом коде мы используем admin_init
, чтобы убедиться, что функция доступна, и затем выводим название плагина.
Пример 2: Получение и вывод полной информации о плагине
Если вы хотите вывести более полную информацию о плагине, вы можете сделать это следующим образом:
add_action('admin_init', function() {
if ( ! function_exists('get_plugin_data') ) {
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
}
$plugin_data = get_plugin_data(__FILE__);
echo "<pre>";
print_r($plugin_data);
echo "</pre>";
});
Этот код выведет весь массив данных о плагине в удобочитаемом формате.
Пример 3: Настройка вывода данных без HTML-разметки
Если вы хотите получить данные без применения HTML-разметки, вы можете установить параметр $markup
в false
:
add_action('admin_init', function() {
if ( ! function_exists('get_plugin_data') ) {
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
}
$plugin_data = get_plugin_data(__FILE__, false);
echo "Версия плагина: " . esc_html($plugin_data['Version']);
});
В этом примере мы извлекаем только версию плагина и выводим её без HTML-разметки.
Полезные советы
- Обязательно проверяйте существование функции: Так как
get_plugin_data()
доступна только в административной панели, всегда проверяйте её наличие перед вызовом. - Убедитесь в правильности заголовков: Все заголовки должны находиться на отдельных строках, а описание не должно содержать переносов строк, иначе функция может вернуть только часть описания.
- Используйте переводы: Если ваш плагин поддерживает многоязычность, не забудьте настроить
Text Domain
иDomain Path
для загрузки языковых файлов.
Заключение
Функция get_plugin_data()
является важным инструментом для разработчиков плагинов, позволяя легко извлекать и использовать метаданные, что способствует улучшению качества и управления плагинами в WordPress.