Как создать собственный админ-бар в WordPress

Админ-бар в WordPress — это удобный инструмент, который отображается в верхней части сайта для авторизованных пользователей и предоставляет быстрый доступ к полезным функциям. Зачастую стандартного функционала админ-бара недостаточно, особенно если нужно добавить свои пункты меню или изменить поведение элементов. В этой статье я подробно расскажу, как создать собственный админ-бар в WordPress, добавить свои элементы и сделать его удобным для администраторов и редакторов.

Что такое админ-бар и почему стоит создавать свой

Админ-бар — это панель инструментов, которая появляется в верхней части сайта для авторизованных пользователей. По умолчанию WordPress выводит там меню с быстрым доступом к панели управления, редактированию страниц, комментариям и другим функциям.

Однако часто возникает необходимость добавить собственные кнопки или разделы, например, для быстрого перехода к кастомным типам записей, настройкам плагинов, отчетам и т.д. Это особенно актуально для сайтов с большим количеством пользователей и кастомным функционалом.

Создание собственного админ-бара позволяет:

  • Оптимизировать рабочий процесс пользователей;
  • Добавить брендированные элементы;
  • Скрыть или изменить стандартные пункты меню;
  • Улучшить юзабилити и ускорить доступ к важным разделам.

Как добавить собственные пункты в админ-бар WordPress

Для работы с админ-баром WordPress использует объект $wp_admin_bar, который доступен в хуке admin_bar_menu. Добавлять свои пункты нужно именно через этот хук.

Вот минимальный пример добавления нового пункта меню:

add_action('admin_bar_menu', 'adminwpstuff_add_custom_admin_bar', 100);
function adminwpstuff_add_custom_admin_bar($wp_admin_bar) {
    $args = array(
        'id' => 'adminwpstuff_custom_link',
        'title' => 'Мой пункт меню',
        'href' => site_url('/custom-page/'),
        'meta' => array(
            'class' => 'adminwpstuff-custom-class',
            'title' => 'Перейти на кастомную страницу',
        ),
    );
    $wp_admin_bar->add_node($args);
}

В этом коде мы добавляем новый пункт с ID adminwpstuff_custom_link, который ведет на страницу /custom-page/. Параметр meta позволяет добавить CSS-класс и подсказку.

Добавление вложенных пунктов меню (подменю)

Админ-бар позволяет создавать иерархию меню, что полезно для группировки элементов. Для этого нужно указать параметр parent в массиве аргументов.

Пример:

add_action('admin_bar_menu', 'adminwpstuff_add_submenu_admin_bar', 101);
function adminwpstuff_add_submenu_admin_bar($wp_admin_bar) {
    // Родительский пункт
    $wp_admin_bar->add_node(array(
        'id' => 'adminwpstuff_parent',
        'title' => 'Админ WPStuff',
        'href' => '#'
    ));

    // Подпункт
    $wp_admin_bar->add_node(array(
        'id' => 'adminwpstuff_subitem1',
        'title' => 'Настройки',
        'parent' => 'adminwpstuff_parent',
        'href' => admin_url('options-general.php?page=wpstuff-settings')
    ));
}

Таким образом создается выпадающее меню с заголовком «Админ WPStuff» и подпунктом «Настройки».

Условное отображение пунктов меню

Очень часто пункты админ-бара нужно показывать только определённым ролям или пользователям. Для этого используется функция current_user_can().

Пример показа пункта только администраторам:

function adminwpstuff_add_custom_admin_bar($wp_admin_bar) {
    if (!current_user_can('administrator')) {
        return; // Выходим, если не администратор
    }
    $wp_admin_bar->add_node(array(
        'id' => 'adminwpstuff_admin_only',
        'title' => 'Только для админов',
        'href' => '#'
    ));
}
add_action('admin_bar_menu', 'adminwpstuff_add_custom_admin_bar', 100);

Отключение стандартных пунктов админ-бара

Если нужно убрать ненужные пункты, например, ссылку на «Обновления» или «Комментарии», это делается через метод remove_node().

add_action('admin_bar_menu', 'adminwpstuff_remove_default_nodes', 999);
function adminwpstuff_remove_default_nodes($wp_admin_bar) {
    $wp_admin_bar->remove_node('comments');
    $wp_admin_bar->remove_node('updates');
}

Это удобно для кастомизации интерфейса и уменьшения загромождения админ-бара для определённых ролей.

Как стилизовать собственный админ-бар

Для изменения стилей админ-бара можно добавить CSS через хук admin_head или подключить отдельный файл стилей.

Пример добавления стилей для нашего пункта меню:

add_action('admin_head', 'adminwpstuff_custom_admin_bar_styles');
function adminwpstuff_custom_admin_bar_styles() {
    echo '<style>
    #wpadminbar .adminwpstuff-custom-class {
        background-color: #0073aa;
        color: #fff;
        font-weight: bold;
    }
    #wpadminbar .adminwpstuff-custom-class:hover {
        background-color: #005177;
    }
    </style>';
}

Такой подход позволяет выделить собственные пункты, сделать их заметными и удобными.

Примеры полезных дополнений для админ-бара

Помимо добавления простых ссылок, админ-бар можно использовать для выполнения полезных функций:

  • Быстрый доступ к отчетам или аналитике;
  • Вызов модальных окон с формами обратной связи;
  • Интеграция с плагинами, например, вывод статистики из WPGPT для получения подсказок;
  • Управление виджетами или настройками темы.

Вот пример добавления пункта с вызовом JavaScript-алерта:

add_action('admin_bar_menu', 'adminwpstuff_add_alert_button', 102);
function adminwpstuff_add_alert_button($wp_admin_bar) {
    $args = array(
        'id' => 'adminwpstuff_alert',
        'title' => 'Показать сообщение',
        'href' => '#',
        'meta' => array(
            'onclick' => 'alert("Привет от admin.wpstuff.ru!"); return false;',
        ),
    );
    $wp_admin_bar->add_node($args);
}

Поддержка плагинов и тем WPShop

Если вы используете продукты с WPShop, можно интегрировать их с кастомным админ-баром. Например, добавить быстрый доступ к настройкам Clearfy Pro или Expert Review прямо в панель администратора.

Это позволит ускорить работу и сделать интерфейс более удобным для себя и коллег.

Поддержка мультиязычности в админ-баре

Если ваш сайт многоязычный, важно, чтобы админ-бар корректно отображал пункты на нужном языке. Для этого используйте функции локализации WordPress:

add_action('admin_bar_menu', 'adminwpstuff_add_i18n_node', 103);
function adminwpstuff_add_i18n_node($wp_admin_bar) {
    $title = __('Мой пункт меню', 'adminwpstuff');
    $wp_admin_bar->add_node(array(
        'id' => 'adminwpstuff_i18n',
        'title' => $title,
        'href' => '#'
    ));
}

Не забудьте добавить файл перевода для своего плагина или темы, если вы создаете более сложный функционал.

Вывод

Создание собственного админ-бара в WordPress — мощный инструмент для улучшения интерфейса и ускорения работы с сайтом. С помощью простых хуков и методов можно добавить удобные ссылки, меню и даже интерактивные элементы. Используйте условное отображение, стили и интеграцию с плагинами для максимального комфорта.

Если хотите расширить функционал без лишнего кода, обратите внимание на плагины WPShop, которые помогут с настройкой и оптимизацией.

Как удалить все мета данные из WordPress без плагинов
17.12.2025
Как удалить старые чанк-данные из базы данных WordPress без плагинов
12.02.2026
Как отключить автоподгрузку в админ-панели WordPress
24.03.2026
Как создать настройку в админ-панели WordPress для управления отображением
30.03.2026
Как отключить автоматическое удаление корзины в WooCommerce
24.05.2026