Функция get_file_data()
позволяет извлекать метаданные из файлов плагинов и тем WordPress. Она анализирует первую часть файла и возвращает указанные заголовки, что делает её полезной для работы с информацией о плагинах и темах.
get_file_data( string $file, array $default_headers, string $context = '' ): string[]
Описание параметров
- $file (строка, обязательный): Абсолютный путь к файлу, из которого нужно извлечь данные.
- $default_headers (массив, обязательный): Список заголовков в формате
array( 'HeaderKey' => 'Header Name' )
. Каждый заголовок должен находиться на отдельной строке. - $context (строка, необязательный): Если указано, добавляет фильтр для дополнительных заголовков. По умолчанию пустая строка.
Возврат
Функция возвращает массив значений заголовков, сопоставленных с их именами.
Пример 1: Извлечение данных плагина
Допустим, у вас есть файл плагина с такими комментариями в начале:
/*
Plugin Name: Мой Плагин
Description: Это пример плагина.
Author: Ваше Имя
Version: 1.0
*/
Теперь мы можем использовать функцию get_file_data()
для получения этих данных:
$file_path = '/path/to/your/plugin/my-plugin.php';
$headers = array(
'name' => 'Plugin Name',
'author' => 'Author',
'version' => 'Version',
);
$data = get_file_data($file_path, $headers);
// Вывод данных
print_r($data);
Результат:
Array
(
[name] => Мой Плагин
[author] => Ваше Имя
[version] => 1.0
)
Пример 2: Динамическая версия плагина
Если вы хотите установить константу для версии плагина, чтобы не забыть обновить её в нескольких местах, можете сделать следующее:
/*
Plugin Name: Динамический Плагин
Plugin URI: http://example.com
Description: Плагин с динамической версией.
Author: Ваше Имя
Version: 1.0
*/
$data = get_file_data(__FILE__, ['version' => 'Version']);
define('PLUGIN_VERSION', $data['version']);
Теперь, если вы измените версию в комментариях, константа PLUGIN_VERSION
будет обновляться автоматически.
Пример 3: Чтение нескольких заголовков
Вы можете извлечь несколько заголовков одновременно, передав массив в качестве второго параметра. Предположим, у вас есть файл с метаданными для темы:
/*
Theme Name: Моя Тема
Theme URI: http://example.com
Description: Пример темы.
Author: Ваше Имя
Version: 2.0
*/
Чтобы извлечь эти данные, используйте следующий код:
$file_path = '/path/to/your/theme/my-theme/index.php';
$headers = array(
'theme_name' => 'Theme Name',
'theme_uri' => 'Theme URI',
'description' => 'Description',
);
$file_data = get_file_data($file_path, $headers);
// Вывод данных
print_r($file_data);
Результат:
Array
(
[theme_name] => Моя Тема
[theme_uri] => http://example.com
[description] => Пример темы.
)
Полезные советы
- Организуйте метаданные: Убедитесь, что ваши метаданные находятся в самом начале файла, чтобы функция могла их корректно извлечь.
- Используйте регулярные выражения: Если вам нужны специфичные заголовки, вы можете использовать регулярные выражения для настройки поиска заголовков.
- Работа с несколькими заголовками: Вы можете извлекать несколько заголовков за один вызов, что экономит время и ресурсы.
Заключение
Функция get_file_data()
является мощным инструментом для разработчиков, позволяя легко получать информацию о плагинах и темах в WordPress, что упрощает управление и настройку этих компонентов.