plugin_action_links
Дозволяє видалити/додати посилання, які відображаються під назвою кожного плагіну в таблиці плагінів в адмін-панелі (наприклад: Активувати, Деактивувати, Видалити).
Хук network_admin_plugin_action_links — такий самий хук, тільки буде використаний на сторінці налаштувань плагінів у адміністратора мережі сайтів.
Хук network_admin_plugin_action_links_(plugin_file)
За замовчуванням, адміністратор мережі сайтів має такі посилання: Активувати для мережі (Network Activate), Деактивувати для мережі (Network Deactivate), Редагувати (Edit) і Видалити (Delete).
Ще фільтри пов’язані зі зміною даних у таблиці плагінів:
Використання
add_filter( 'plugin_action_links', 'wp_kama_plugin_action_links_filter', 10, 4);
/**
* Function for `plugin_action_links` filter-hook.
*
* @param string[] $actions На array of plugin action links. By default this can include 'activate', 'deactivate', 'delete'. З Multisite active this can also include 'network_active' and 'network_only' items.
* @param string $plugin_file Пакет до файлу plugin relative to plugins directory.
* @param array $plugin_data На array of plugin data. See `get_plugin_data()` and the {@see 'plugin_row_meta'} filter for the list of possible values.
* @param string $context Plugin context. Додатково це може бути 'all', 'active', 'inactive', 'recently_activated', 'upgrade', 'mustuse', 'dropins', 'search'.
*
* @return string[]
*/
function wp_kama_plugin_action_links_filter( $actions, $plugin_file, $plugin_data, $context ){
// Filter...
return $actions;
}- $actions
(масив) - Масив посилань. Сюди можна додати посилання.
- $plugin_file
(рядок) - Шлях до файлу плагіна. Шлях передається не весь, а лише частина: від каталогу плагінів до файлу плагіна, включно:
plugin-name/plugin-file.php . - $plugin_data
(масив) - Масив даних плагіна.
- $context
(рядок) - На якому підсторінці сторінки плагінів потрібно використовувати фільтр. Можливо: ‘All’, ‘Active’, ‘Inactive’, ‘Recently Activated’, ‘Upgrade’, ‘Must-Use’, ‘Drop-ins’, ‘Search’.
Приклади
#1 Додамо посилання на сторінку налаштувань плагіна
Припустимо, ми хочемо додати посилання на сторінку налаштувань плагіна, в таблицю плагінів на сторінці плагінів адмін-панелі. Такі посилання виводяться під назвою плагіна:
add_filter( 'plugin_action_links', 'wpcf_plugin_action_links', 10, 2);
function wpcf_plugin_action_links( $actions, $plugin_file ){
if( false === strpos( $plugin_file, basename(__FILE__) ) )
return $actions;
$settings_link = '<a href="options-general.php?page='. basename(dirname(__FILE__)).'/options.php' .'">Settings</a>';
array_unshift($actions, $settings_link);
return $actions;
}Ось що в нас вийде:

#2 Використання фільтра plugin_action_links_{$plugin_file}
Те саме можна зробити, використавши аналогічний фільтр plugin_action_links_{$plugin_file} . Він використовується в тому ж місці, що й plugin_action_links . Тому найчастіше немає різниці який фільтр використовувати.
// Додамо посилання на сторінку налаштувань до таблиці плагінів
function plugin_settings_link($links) {
$settings_link = '<a href="options-general.php?page=your_plugin_slug">Settings</a>';
array_unshift($links, $settings_link);
return $links;
}
$plugin_file = plugin_basename(__FILE__);
add_filter( "plugin_action_links_$plugin_file", 'plugin_settings_link');#3 Використання фільтра plugin_row_meta
Щоб додати дані до метаданих плагіна. Посилання та текст під описом плагіна потрібно використовувати фільтр plugin_row_meta . Для прикладу, додамо посилання на сторінку налаштувань у метадані плагіна:
add_filter( 'plugin_row_meta', 'plugin_row_meta_1111', 10, 4);
function plugin_row_meta_1111( $meta, $plugin_file ){
if( false === strpos( $plugin_file, basename(__FILE__) ) )
return $meta;
$meta[] = '<a href="options-general.php?page='. basename(dirname(__FILE__)).'/options.php' .'">Settings</a>';
return $meta;
} 
список змін
| З версії 2.5.0 | Введено. |
| З версії 2.6.0 | The $context parameter був added. |
| З версії 4.9.0 | The ‘Edit’ link був removed з list of action links. |
Де викликається хук
$actions = apply_filters( 'plugin_action_links', $actions, $plugin_file, $plugin_data, $context );
Де використовується хук у WordPress
Використання не знайдено.