remove_menu_page()
Удаляет пункты меню верхнего уровня (записи, медиафайлы, страницы) в админ-панели.
Удаляет пункты меню только визуально, т.е. удаление пунктов меню таким образом не предотвращает от доступа к этим пунктам напрямую (например, для доступа можно ввести соответствующую ссылку в браузере). Такое удаление требует контроля доступа пользователя, несмотря на то, что в меню пунктов нет.
Эту функцию нужно вызывать на хуке admin_menu.
Чтобы удалить подменю главного меню, используйте функцию remove_submenu_page().
Хуков нет.
Возвращает
Массив|false. Удаляет меню в случае успеха и возвращает данные удаленного меню в виде массива. false, если удалить не удалось.
Использование
remove_menu_page( $menu_slug );
- $menu_slug(строка) (обязательный)
- Название меню. Обычно этим названием является название PHP файла, который отвечает за вывод меню, например
upload.php.
Примеры
#1 Удалим из меню различные разделы (пункты)
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' ); // Параметры
}
Заметки
- Global. Массив.
$menu
Список изменений
| С версии 3.1.0 | Введена. |
Код remove_menu_page() remove menu page WP 6.9.1
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;
}