plugin_action_links
Позволяет удалить/добавить ссылки, которые выводятся под названием каждого плагина в таблице плагинов в админ-панели (например: Активировать, Деактивировать, Удалить).
Хук network_admin_plugin_action_links — точно такой же хук, только будет использован на странице настроек плагинов у администратора сети сайтов.
Хук plugin_action_links_(plugin_file) — точно такой же хук, сделан для удобства, тут сразу можно указать для какого плагина он будет использоваться, в 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 An array of plugin action links. By default this can include 'activate', 'deactivate', and 'delete'. With Multisite active this can also include 'network_active' and 'network_only' items. * @param string $plugin_file Path to the plugin file relative to the plugins directory. * @param array $plugin_data An array of plugin data. See get_plugin_data() and the {@see 'plugin_row_meta'} filter for the list of possible values. * @param string $context The plugin context. By default this can include 'all', 'active', 'inactive', 'recently_activated', 'upgrade', 'mustuse', 'dropins', and '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 was added. |
С версии 4.9.0 | The 'Edit' link was removed from the list of action links. |
Где вызывается хук
$actions = apply_filters( 'plugin_action_links', $actions, $plugin_file, $plugin_data, $context );