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

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

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

Во-первых, удаление ненужных пунктов меню помогает снизить риск случайных изменений новичками или редакторами, которые не должны иметь доступа к определённым разделам.

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

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

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

Для удаления пунктов меню в WordPress используется функция remove_menu_page() и remove_submenu_page(). Чтобы сделать этот процесс удобнее и избежать конфликтов, создадим свою функцию с префиксом wp24_.

function wp24_remove_admin_menu_items() {
    // Удаляем меню «Комментарии»
    remove_menu_page('edit-comments.php');
    // Удаляем меню «Плагины»
    remove_menu_page('plugins.php');
    // Удаляем подменю «Тема» из меню «Внешний вид»
    remove_submenu_page('themes.php', 'themes.php');
}
add_action('admin_menu', 'wp24_remove_admin_menu_items', 999);

В этом примере мы удаляем меню «Комментарии» и «Плагины», а также подменю «Темы». Код нужно разместить в functions.php вашей темы или в отдельном плагине.

Определение ID пунктов меню

Чтобы узнать ID пунктов меню, можно временно включить отладку или использовать плагин Admin Menu Editor — он позволяет визуально управлять меню и смотреть технические имена страниц.

Переименование пунктов меню: как изменить названия через код

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

function wp24_rename_admin_menu_items($translated_text, $text, $domain) {
    if (is_admin()) {
        switch ($translated_text) {
            case 'Posts':
                $translated_text = 'Статьи';
                break;
            case 'Pages':
                $translated_text = 'Страницы сайта';
                break;
            case 'Comments':
                $translated_text = 'Отзывы';
                break;
        }
    }
    return $translated_text;
}
add_filter('gettext', 'wp24_rename_admin_menu_items', 20, 3);

В этом коде мы меняем названия пунктов «Posts» на «Статьи», «Pages» на «Страницы сайта» и «Comments» на «Отзывы». Можно расширять список под свои нужды.

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

Часто нужно добавить свои разделы в админку для управления кастомным функционалом. Для этого используется функция add_menu_page() и add_submenu_page().

function wp24_add_custom_admin_menu() {
    add_menu_page(
        'WP24 Инструменты', // Заголовок страницы
        'WP24 Инструменты', // Название меню
        'manage_options',   // Возможность доступа
        'wp24_tools',       // Ярлык меню
        'wp24_tools_page_callback', // Функция вывода содержимого
        'dashicons-hammer', // Иконка
        81                 // Позиция
    );
    add_submenu_page(
        'wp24_tools',
        'Настройки WP24',
        'Настройки',
        'manage_options',
        'wp24_settings',
        'wp24_settings_page_callback'
    );
}
add_action('admin_menu', 'wp24_add_custom_admin_menu');

function wp24_tools_page_callback() {
    echo '<h1>Добро пожаловать в WP24 Инструменты</h1>';
    echo '<p>Здесь вы можете управлять дополнительными функциями вашего сайта.</p>';
}

function wp24_settings_page_callback() {
    echo '<h1>Настройки WP24</h1>';
    echo '<form method="post" action="options.php">';
    settings_fields('wp24_settings_group');
    do_settings_sections('wp24_settings');
    submit_button();
    echo '</form>';
}

Этот код добавит в меню админки новый раздел «WP24 Инструменты» с подменю «Настройки» и простыми страницами.

Регистрация настроек для страницы настроек

Чтобы сделать страницу настроек функциональной, зарегистрируем параметры с помощью хуков Settings API:

function wp24_register_settings() {
    register_setting('wp24_settings_group', 'wp24_option_example');
    add_settings_section('wp24_main_section', 'Основные настройки', null, 'wp24_settings');
    add_settings_field(
        'wp24_option_example',
        'Пример настройки',
        'wp24_option_example_callback',
        'wp24_settings',
        'wp24_main_section'
    );
}
add_action('admin_init', 'wp24_register_settings');

function wp24_option_example_callback() {
    $value = get_option('wp24_option_example', '');
    echo '<input type="text" name="wp24_option_example" value="'.esc_attr($value).'" />';
}

Использование плагина Admin Menu Editor для удобного управления меню

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

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

Примеры решения типичных задач с меню в WordPress

1. Убрать меню «Плагины» для роли редактора

function wp24_remove_plugins_menu_for_editor() {
    if (current_user_can('editor') && !current_user_can('administrator')) {
        remove_menu_page('plugins.php');
    }
}
add_action('admin_menu', 'wp24_remove_plugins_menu_for_editor', 999);

Это защитит сайт от случайного удаления плагинов редакторами.

2. Добавить кастомный пункт меню с формой обратной связи

function wp24_add_feedback_menu() {
    add_menu_page('Обратная связь', 'Обратная связь', 'manage_options', 'wp24_feedback', 'wp24_feedback_page');
}
add_action('admin_menu', 'wp24_add_feedback_menu');

function wp24_feedback_page() {
    echo '<h1>Форма обратной связи</h1>';
    echo '<form method="post" action="">';
    echo '<label>Ваше сообщение:</label><br>';
    echo '<textarea name="feedback_message" rows="5" cols="50"></textarea><br>';
    echo '<input type="submit" value="Отправить" />';
    echo '</form>';
    if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['feedback_message'])) {
        $message = sanitize_textarea_field($_POST['feedback_message']);
        // Здесь можно отправить сообщение по email или сохранить в базу
        echo '<p>Спасибо за ваше сообщение!</p>';
    }
}

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

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

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

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

Заключение

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

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

Использование WooCommerce order meta для кастомизированных отчетов
21.05.2026
Как установить уникальные метаданные для страниц WordPress
17.12.2025
Как добавить уникальные поля в форму регистрации WordPress с проверкой уникальности
24.02.2026
Удаление неиспользуемых метаданных в WooCommerce без плагинов: пошаговое руководство
03.05.2026
Как добавить фильтрацию по подкатегориям в WooCommerce
25.05.2026