get_plugin_data()
Отримує дані плагіна (зазначені в заголовках) по переданому шляху на основний файл плагіна.
Усі дані беруться із заголовків плагіна. Дані плагіна повинні розташовуватися на окремому рядку. В описі плагінів не повинно бути перенесення рядків, інакше тільки частина опису буде показана. Формат заголовка такий:
/* * Plugin Name: Назва * Plugin URI: Посилання на інфо про плагін * Description: Опис * Автор: Ім'я автора * Author URI: Посилання на автора * Version: Версія плагіна * Requires at least: 5.8 * Requires PHP: 7.4 * Text Domain: Ідентифікатор даних перекладу. Вказується в plugin_text_domain() * Domain Path: Шлях до файлу перекладу. Потрібен якщо файл не в тій же папці, в якій * файл із цими даними. Наприклад, .mo файл знаходиться в папці plugin/lang, * а файл плагіна в plugin/file.php, тоді вказуємо "lang" * Network: Вкажіть "Network: true" для можливості активувати плагін * по всі мережі сайтів (для мультисайтового складання). * Update URI: https://example.com/link_to_update */
Функція обробляє лише перші 8kiB (6000-8000 символів) інформації (див. get_file_data() ), і якщо дані плагіна виходять більше, то автору доведеться їх зменшити або перемістити дані плагіна нагору (деякі автори перед даними додають інформацію про ліцензію тощо) .).
Функція працює лише в адмін-панелі. Крім цього, працює не одразу, а десь починаючи з події wp_loaded функція ще не визначена.
В якості альтернативи, коли потрібно отримати дані раніше, можна використовувати схожу функцію get_file_data() .
Якщо $markup = true
( $translate = true
як за замовчуванням), функція опосередковано викликає init .
get_file_data()
get_plugins()
Хуків немає.
Повертає
Массив
. Масив даних:
Array ( [Name] => Democracy Poll [PluginURI] => http://wp-kama.ru/id_67/democracy-poll.html [Version] => 4.5.4 [Description] => Дозволяє створювати опитування. [Author] => <a href="/">Kama</a> [AuthorURI] => http://wp-kama.ru/ [AuthorName] => Kama [TextDomain] => dem [DomainPath] => languages [Network] => [Title] => <a href="/id_67/democracy-poll.html">Democracy Poll</a> [RequiresWP] => 5.5 [RequiresPHP] => 7.0 )
Мапінг термін: значення масиву – це рядок який повинен бути у файлі, ключ – відповідає ключу масива, що повертається:
$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. |