Как удалить ненужные меню из админки?
Если вас не устраивает куча меню в админке сайта, то вы можете скрыть ненужные меню с помощью такого кода, добавленного в файл functions.php вашей темы:
//скрытие всех меню в админке сайта start function whp_hide_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' ); //настройки } add_action('admin_menu', 'whp_hide_menus'); //скрытие всех меню в админке сайта end |
Данный сниппет скроет все меню в админке для всех пользователей, включая вас. Чтобы не скрывать меню для администраторов сайта надо использовать такой код:
//скрытие меню от всех кроме админов start function whp_hide_menus(){ if (!current_user_can('level_10')) { remove_menu_page( 'themes.php' ); //внешний вид remove_menu_page( 'plugins.php' ); //плагины } } add_action('admin_menu', 'whp_hide_menus'); //скрытие меню от всех кроме админов end |
В этом случае меню "Внешний вид" и "Плагины" будут скрыты от всех, кроме администраторов. Можно модернизировать код так, чтобы эти меню скрывались от всех, кроме главного администратора (или указанного по ID):
//скрытие меню от всех кроме админа с ID=1 start function whp_hide_menus(){ global $current_user; if (!$current_user->ID==1) { remove_menu_page( 'themes.php' ); //внешний вид remove_menu_page( 'plugins.php' ); //плагины } } add_action('admin_menu', 'whp_hide_menus'); //скрытие меню от всех кроме админа с ID=1 end |
Где 1 это ID нужного пользователя (по умолчанию при установке сайта на WordPress главный администратор получает ID равное 1).
Удалите также меню в верхней панели, так как некоторые меню там дублируются.