WP_ADMIN_BAR::ADD_NODE() — Добавление узла в меню
Введение
Метод WP_ADMIN_BAR::ADD_NODE() позволяет добавить новый элемент меню в админ-панели WordPress. Это база, на которой строятся возможные расширения интерфейса для администраторов сайта.
Общая информация
- Метод класса:
WP_Admin_Bar - Доступен с: WordPress 3.1.0
- Возвращает:
null(ничего)
Синтаксис
Чтобы использовать этот метод, создайте объект WP_Admin_Bar и добавьте узел, передав необходимые аргументы.
$WP_Admin_Bar = new WP_Admin_Bar();
$WP_Admin_Bar->add_node( $args );
Аргументы
Метод принимает массив параметров, который должен включать следующие ключи:
- id (string) — уникальный идентификатор элемента меню.
- title (string) — название узла.
- parent (string) — (необязательно) ID родительского элемента.
- href (string) — (необязательно) ссылка на элемент.
- group (true|false) — (необязательно) указывает, является ли узел группой. По умолчанию
false. - meta (array) — (необязательно) мета-данные, включая следующие ключи:
'html','class','rel','lang','dir','onclick','target','title','tabindex','menu_title'. По умолчанию — пустая строка.
Примеры использования
Пример 1: Добавление ссылки и дочерней ссылки в админ-панеле
Этот код добавляет ссылку в админ-панель, а также дочернюю ссылку, относящуюся к первой.
add_action('admin_bar_menu', 'my_admin_bar_menu', 30);
function my_admin_bar_menu($wp_admin_bar) {
$wp_admin_bar->add_menu(array(
'id' => 'menu_id',
'title' => 'Внешняя ссылка',
'href' => 'http://example.com',
));
// Дочерняя ссылка
$wp_admin_bar->add_menu(array(
'parent' => 'menu_id', // ID родительской ссылки
'id' => 'some_id', // уникальный ID дочерней ссылки
'title' => 'Субссылка',
'href' => 'http://example.com/subpage',
));
}
Пример 2: Добавление ссылки на страницу плагинов
Этот код добавляет ссылку на страницу плагинов в меню сайта.
if (!is_admin()) {
add_action('admin_bar_menu', function($wp_admin_bar) {
$wp_admin_bar->add_menu(array(
'parent' => 'site-name', // ID родительского элемента
'id' => 'plugins_link', // уникальный ID
'title' => 'Плагины',
'href' => admin_url('plugins.php'),
));
}, 100);
}
Пример 3: Как узнать ID элемента меню
Чтобы настроить элемент меню, сначала нужно узнать его ID. Для этого щелкните правой кнопкой мыши на ссылке в меню браузера и выберите "Проверить элемент", чтобы открыть инспектор кода.
Пример ID:
site-name— Название сайтаdashboard— Панель управленияplugins— Плагины
Пример 4: Добавление нескольких ссылок
Этот код добавляет ссылки на медиатеку и плагины в выпадающее меню сайта.
add_action('admin_bar_menu', 'add_links_to_admin_bar', 999);
function add_links_to_admin_bar($admin_bar) {
// Ссылка на медиатеку
$args = array(
'parent' => 'site-name',
'id' => 'media-library',
'title' => 'Медиатека',
'href' => esc_url(admin_url('upload.php')),
'meta' => false,
);
$admin_bar->add_node($args);
// Ссылка на плагины
$args = array(
'parent' => 'site-name',
'id' => 'plugins',
'title' => 'Плагины',
'href' => esc_url(admin_url('plugins.php')),
'meta' => false,
);
$admin_bar->add_node($args);
}
Изменения
- С 3.1.0 — Метод был введён.
- С 4.5.0 — Добавлена возможность передавать мета-данные
'lang'и'dir'. - С 6.5.0 — Добавлена возможность передавать
'menu_title'для названия ARIA меню.
Если у вас остались вопросы или вы хотите попробовать свои примеры, просто добавьте их в нужное место вашего сайта.