Этот хук позволяет разработчикам добавлять собственные ссылки (например, на настройки, документацию, поддержку) рядом с уже существующими действиями (например, «Активировать», «Деактивировать» и т.д.) для конкретного плагина.
Пример использования
Рассмотрим пример, как добавить ссылку на страницу настроек для вашего плагина на странице плагинов.
Пример кода
Допустим, ваш плагин называется my-awesome-plugin/my-awesome-plugin.php
. Тогда вы можете использовать хук следующим образом:
add_filter( 'plugin_action_links_my-awesome-plugin/my-awesome-plugin.php', 'custom_plugin_action_links' );
/**
* Добавление ссылки на страницу настроек в список действий плагина.
*
* @param array $links Текущий массив ссылок.
* @return array Массив ссылок с добавленными ссылками.
*/
function custom_plugin_action_links( $links ) {
$settings_link = '<a href="admin.php?page=my-awesome-plugin-settings">Настройки</a>';
// Добавляем новую ссылку в начало массива ссылок
array_unshift( $links, $settings_link );
return $links;
}
Объяснение кода
Хук
plugin_action_links_{plugin_file}
:{plugin_file}
— это путь к основному файлу вашего плагина относительно папки плагинов (например,my-awesome-plugin/my-awesome-plugin.php
).- Этот фильтр позволяет модифицировать список ссылок, которые отображаются под названием плагина на странице «Плагины» в админке WordPress.
Функция
custom_plugin_action_links
:- Она принимает текущий массив ссылок (
$links
) и добавляет к нему новую ссылку, используяarray_unshift()
, чтобы вставить её в начало списка. - В примере мы добавляем ссылку на страницу настроек плагина.
- Она принимает текущий массив ссылок (
Страница настроек:
- Мы добавляем ссылку на страницу настроек плагина, которая может находиться на
admin.php?page=my-awesome-plugin-settings
. Ваша страница настроек должна быть зарегистрирована через WordPress API для создания административных страниц.
- Мы добавляем ссылку на страницу настроек плагина, которая может находиться на
Пример реального использования
Допустим, вы хотите добавить несколько ссылок, таких как «Настройки», «Документация» и «Поддержка». Это можно сделать так:
add_filter( 'plugin_action_links_my-awesome-plugin/my-awesome-plugin.php', 'custom_plugin_action_links' );
function custom_plugin_action_links( $links ) {
// Добавляем ссылку на настройки
$settings_link = '<a href="admin.php?page=my-awesome-plugin-settings">Настройки</a>';
// Добавляем ссылку на документацию
$docs_link = '<a href="https://example.com/docs">Документация</a>';
// Добавляем ссылку на поддержку
$support_link = '<a href="https://example.com/support">Поддержка</a>';
// Добавляем ссылки в массив
$links[] = $settings_link;
$links[] = $docs_link;
$links[] = $support_link;
return $links;
}
Где это может быть полезно
- Настройки плагина: Добавление ссылки на страницу настроек вашего плагина для удобства пользователей.
- Документация: Предоставление быстрого доступа к документации плагина.
- Поддержка: Возможность добавить ссылку на страницу поддержки, чтобы пользователи могли быстро обратиться за помощью.