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
Використання не знайдено.