Кастомизация пунктов меню в админке WordPress: настройка и примеры кода

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

Почему стоит кастомизировать меню в админке WordPress

Стандартный интерфейс WordPress подходит для большинства пользователей, но в некоторых случаях требуется изменить меню для:

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

Кастомизация меню помогает сделать админку более понятной и удобной, уменьшить количество ошибок и ускорить работу.

Как удалить ненужные пункты меню в админке WordPress

Чтобы убрать пункты меню, которые не нужны пользователям, используют хук admin_menu и функцию remove_menu_page(). Например, чтобы удалить раздел «Комментарии» и «Плагины», добавьте в файл functions.php вашей темы или в плагин такой код:

function wpbloger_remove_menus() {
    remove_menu_page('edit-comments.php'); // Убираем комментарии
    remove_menu_page('plugins.php'); // Убираем плагины
}
add_action('admin_menu', 'wpbloger_remove_menus');

Этот код удалит указанные пункты меню для всех пользователей. Если нужно скрыть только для определённых ролей, добавим проверку:

function wpbloger_remove_menus_for_subscribers() {
    if (current_user_can('subscriber')) {
        remove_menu_page('edit-comments.php');
        remove_menu_page('plugins.php');
    }
}
add_action('admin_menu', 'wpbloger_remove_menus_for_subscribers');

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

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

Для добавления новых пунктов меню в админку WordPress используется функция add_menu_page(), а для вложенных пунктов — add_submenu_page(). Рассмотрим пример добавления нового раздела «Настройки WPBloger» с подменю «Общие».

function wpbloger_add_custom_admin_menu() {
    add_menu_page(
        'Настройки WPBloger', // Заголовок страницы
        'WPBloger',           // Название меню
        'manage_options',     // Возможности
        'wpbloger-settings',  // Уникальный слаг
        'wpbloger_settings_page', // Функция вывода контента
        'dashicons-admin-generic', // Иконка
        60                    // Позиция меню
    );

    add_submenu_page(
        'wpbloger-settings', // Родительский слаг
        'Общие настройки',   // Заголовок подменю
        'Общие',             // Название подменю
        'manage_options',
        'wpbloger-settings', // Слаг подменю (совпадает с родительским для замены)
        'wpbloger_settings_page'
    );

    add_submenu_page(
        'wpbloger-settings',
        'Расширенные настройки',
        'Расширенные',
        'manage_options',
        'wpbloger-advanced-settings',
        'wpbloger_advanced_settings_page'
    );
}
add_action('admin_menu', 'wpbloger_add_custom_admin_menu');

function wpbloger_settings_page() {
    echo '<h1>Общие настройки WPBloger</h1>';
    echo '<p>Здесь вы можете настроить основные параметры плагина или темы.</p>';
}

function wpbloger_advanced_settings_page() {
    echo '<h1>Расширенные настройки WPBloger</h1>';
    echo '<p>Настройки для опытных пользователей.</p>';
}

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

Изменение названий и иконок существующих пунктов меню

Иногда нужно переименовать пункты меню или заменить иконки. Для этого используется глобальный массив $menu и $submenu. Пример переименования пункта «Записи» в «Блог» и смены иконки:

function wpbloger_rename_menu_items() {
    global $menu;
    foreach($menu as $key => $menu_item) {
        if ($menu_item[2] == 'edit.php') {
            $menu[$key][0] = 'Блог'; // Переименовываем пункт
            $menu[$key][6] = 'dashicons-welcome-write-blog'; // Меняем иконку
        }
    }
}
add_action('admin_menu', 'wpbloger_rename_menu_items', 999);

Таким образом можно тонко настраивать внешний вид и структуру меню под задачи проекта.

Использование плагинов для кастомизации меню

Если вы предпочитаете готовые решения, обратите внимание на следующие плагины:

  • Admin Menu Editor — мощный и удобный инструмент для редактирования меню через интерфейс без кода.
  • Clearfy Pro — плагин оптимизации, который также позволяет скрывать ненужные пункты в админке и настраивать интерфейс.
  • WPCommunity — если вы используете этот плагин, в нем есть собственные настройки меню для удобства участников сообщества.

Подробности и ссылки на эти плагины можно найти на WPSHOP.RU.

Советы по безопасности при кастомизации меню

При изменении меню важно соблюдать несколько правил безопасности:

  • Всегда проверяйте права пользователя через функции current_user_can() или user_can(), чтобы скрывать или показывать пункты только нужным ролям.
  • Не удаляйте пункты, которые нужны для обновления и поддержки сайта, если не уверены в последствиях.
  • Используйте возможности дочерних тем или собственных плагинов для кастомизации, чтобы не потерять изменения при обновлении.

Заключение

Кастомизация меню в админке WordPress — мощный инструмент для адаптации интерфейса под конкретные задачи и пользователей. С помощью функций remove_menu_page(), add_menu_page(), add_submenu_page() и работы с глобальными массивами $menu и $submenu вы можете создавать удобный и понятный административный интерфейс.

Если вам нужна удобная настройка без кода, обратите внимание на проверенные плагины типа Admin Menu Editor и Clearfy Pro, которые можно найти на WPSHOP.RU.

Практические знания и приведённые примеры помогут вам быстро внедрить нужные изменения и улучшить работу с WordPress.

Добавление поля телефона в форму регистрации WordPress с подтверждением номера
12.01.2026
Оптимизация загрузки шрифтов в WordPress: практические решения и примеры кода
05.12.2025
Удаление неиспользуемых метаданных в WordPress для оптимизации базы данных
17.11.2025
Как использовать фильтр YITH WooCommerce Wishlist для добавления собственных критериев
16.01.2026
Как добавить автоматические ответы в комментарии WordPress
09.01.2026