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

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

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

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

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

Основные методы настройки меню администратора в WordPress

WordPress предоставляет несколько способов модификации меню админ-панели:

  • Использование функций remove_menu_page() и remove_submenu_page() для удаления пунктов меню.
  • Добавление новых пунктов через add_menu_page() и add_submenu_page().
  • Изменение порядка пунктов с помощью фильтра custom_menu_order и хука menu_order.
  • Использование CSS и JavaScript для изменения внешнего вида и поведения меню.

Далее рассмотрим каждый метод подробнее с конкретными примерами кода.

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

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

function wp_themes_remove_menus() {
    remove_menu_page('edit-comments.php'); // Комментарии
    remove_menu_page('plugins.php');      // Плагины
}
add_action('admin_menu', 'wp_themes_remove_menus');

Если нужно убрать вложенный пункт, например, «Добавить новый» в разделе «Записи», применяется remove_submenu_page():

function wp_themes_remove_submenus() {
    remove_submenu_page('edit.php', 'post-new.php'); // «Добавить новую» запись
}
add_action('admin_menu', 'wp_themes_remove_submenus');

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

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

Для интеграции уникальных функций в админку можно создавать новые разделы меню. Функция add_menu_page() добавляет главный пункт меню, а add_submenu_page() — вложенные.

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

function wp_themes_add_custom_menu() {
    add_menu_page(
        'WP-Themes Настройки',  // Заголовок страницы
        'WP-Themes',            // Название пункта меню
        'manage_options',       // Возможность (роль)
        'wp_themes_settings',   // Уникальный слаг
        'wp_themes_render_settings_page',  // Функция вывода контента
        'dashicons-admin-appearance',      // Иконка
        60                      // Позиция меню
    );
}
add_action('admin_menu', 'wp_themes_add_custom_menu');

function wp_themes_render_settings_page() {
    echo '<div class="wrap"><h1>Настройки WP-Themes</h1><p>Здесь можно настроить параметры темы.</p></div>';
}

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

Добавляем подменю

Чтобы добавить подменю, вызовите add_submenu_page() внутри той же функции:

function wp_themes_add_custom_submenu() {
    add_submenu_page(
        'wp_themes_settings',        // Родительский слаг меню
        'Дополнительные настройки', // Заголовок страницы
        'Дополнительно',             // Название подменю
        'manage_options',            // Возможность
        'wp_themes_additional',      // Уникальный слаг подменю
        'wp_themes_render_additional_page' // Функция вывода
    );
}
add_action('admin_menu', 'wp_themes_add_custom_submenu');

function wp_themes_render_additional_page() {
    echo '<div class="wrap"><h1>Дополнительные настройки WP-Themes</h1><p>Здесь можно настроить более тонкие параметры.</p></div>';
}

Так вы создадите логичную структуру меню с разделами и подразделами.

Изменение порядка пунктов меню

Стандартный порядок пунктов меню не всегда устраивает. Чтобы изменить его, используйте фильтр custom_menu_order и возвращайте свой массив с ключами меню в нужном порядке через хук menu_order.

function wp_themes_custom_menu_order($menu_order) {
    if (!$menu_order) return true;

    return array(
        'index.php',            // Консоль
        'edit.php?post_type=page', // Страницы
        'edit.php',             // Записи
        'wp_themes_settings',   // Наш кастомный пункт
        'upload.php',           // Медиафайлы
        'edit-comments.php',    // Комментарии
        'themes.php',           // Внешний вид
        'plugins.php',          // Плагины
        'users.php',            // Пользователи
        'tools.php',            // Инструменты
        'options-general.php'   // Настройки
    );
}
add_filter('custom_menu_order', '__return_true');
add_filter('menu_order', 'wp_themes_custom_menu_order');

Так вы полностью контролируете порядок отображения пунктов меню в админке.

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

Если вы не хотите писать код, существуют готовые плагины, которые помогут настроить меню админки:

  • Admin Menu Editor — позволяет визуально редактировать меню, менять порядок, скрывать пункты, менять иконки.
  • White Label CMS — даёт возможность кастомизировать админ-панель, в том числе меню, для клиентов.
  • WP Admin UI Customize — гибкая настройка интерфейса, включая меню и панель инструментов.

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

Заключение

Настройка меню администратора WordPress — практичный способ улучшить удобство работы в админке, адаптировать её под конкретные нужды проекта. Используя функции remove_menu_page(), add_menu_page(), фильтры для порядка меню и примеры из этой статьи, вы сможете создавать удобные и понятные интерфейсы для себя и клиентов.

Как создать динамическую выводку записей в WordPress с помощью WP_Themes функций
12.11.2025
Как создать динамический CSS в теме WordPress
02.12.2025
Оптимизация темы WordPress для скорости: лучшие практики и примеры
07.11.2025
Как создать настройку темы WordPress в админке через Customizer API
29.11.2025
Глобальные хуки и фильтры в WordPress: практическое руководство от WP Themes
22.11.2025