Удаление Элемента Меню: Функция REMOVE_MENU_PAGE() в WordPress

## Удаление Элемента Меню с Помощью Функции REMOVE_MENU_PAGE()

Функция **remove_menu_page()** была добавлена в WordPress версии 3.1.0 и позволяет удалить верхний уровень элемента меню администраторской панели, например, "Записи", "Медиафайлы" или "Страницы".

### Основные Пункты

- Эта функция удаляет элементы меню только визуально, то есть вы всё еще можете получить доступ к этим элементам по их URL.
- После удаления элемента меню вам всё равно необходимо контролировать, кто может получить доступ к странице этого элемента.
- Функцию следует вызывать с помощью действия admin_menu.

### Возврат

- Возвращает массив с удаленным меню при успешном выполнении или false, если меню не найдено.

### Использование

```php
remove_menu_page( $menu_slug );

$menu_slug (строка, обязательный параметр) — это уникальный идентификатор меню. Обычно это название файла, связанное с меню, например: upload.php.

Примеры

Удаление Меню

Вы можете удалить несколько элементов меню, добавив следующий код в файл вашей темы, например functions.php:

add_action( 'admin_menu', 'remove_menus' );
function remove_menus(){
    remove_menu_page( 'index.php' );                  // Панель управления
    remove_menu_page( 'edit.php' );                   // Записи
    remove_menu_page( 'upload.php' );                 // Медиафайлы
    remove_menu_page( 'edit.php?post_type=page' );    // Страницы
    remove_menu_page( 'edit-comments.php' );          // Комментарии
    remove_menu_page( 'themes.php' );                 // Внешний вид
    remove_menu_page( 'plugins.php' );                // Плагины
    remove_menu_page( 'users.php' );                  // Пользователи
    remove_menu_page( 'tools.php' );                  // Инструменты
    remove_menu_page( 'options-general.php' );        // Настройки
}

Примечания

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

Изменения

  • С версии 3.1.0 — возможность удаления элементов меню была добавлена.

Код Функции REMOVE_MENU_PAGE()

function remove_menu_page( $menu_slug ) {
    global $menu;

    foreach ( $menu as $i => $item ) {
        if ( $menu_slug === $item[2] ) {
            unset( $menu[ $i ] );
            return $item;
        }
    }

    return false;
}

Связанные Функции

  • remove_submenu_page() — удалить элемент подменю.
  • add_menu_page() — добавить элемент меню.
  • add_options_page() — добавить страницу с настройками в меню.
  • add_submenu_page() — добавить подменю.
  • add_theme_page() — добавить страницу темы в меню.

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

Leave a Reply

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