Как кастомизировать пункты меню в админке 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_checkout_update_order_review для кастомизации оформления заказа в WooCommerce
30.05.2026
Как отключить отправку email-уведомлений в WordPress без плагинов
20.12.2025
Как автоматизировать обновление тем и плагинов в WordPress с помощью кода
17.01.2026
Как установить уникальные идентификаторы для заказов WooCommerce
11.06.2026
Как автоматически удалять пустые категории в WordPress с помощью кода
29.03.2026