Удаление пунктов меню в админке WordPress
При создании блога целесообразно запретить доступ к определенным функциям. Таким образом удастся избежать многих проблем, включая случайное удаление основной темы. Для этого необходимо внедрить код в имеющийся файл темы functions.php. Следует добавить, что такое удаление пунктов меню не запрещает прямой доступ к ним (доступ по ссылке), а всего лишь визуально убирает пункты меню:
add_action( 'admin_menu', 'remove_admin_menus' ); function remove_admin_menus(){ global $menu; $unset_titles = [ __( 'Dashboard' ), __( 'Posts' ), __( 'Media' ), __( 'Links' ), __( 'Pages' ), __( 'Appearance' ), __( 'Tools' ), __( 'Users' ), __( 'Settings' ), __( 'Comments' ), __( 'Plugins' ), ]; end( $menu ); while( prev( $menu ) ){ $value = explode( ' ', $menu[ key( $menu ) ][0] ); $title = $value[0] ?: ''; if( in_array( $title, $unset_titles, true ) ){ unset( $menu[ key( $menu ) ] ); } } }
Нужно пояснить что:
__('Dashboard')
— главная страница админки (консоль);__('Posts')
— пункт меню "Записи";__('Media')
— пункт меню "Медиафайлы" (картинки, видео и т.п.);__('Links')
— никому не нужный, пункт меню "Ссылки";__('Pages')
— пункт меню "Страницы";__('Appearance')
— пункт меню "Внешний вид";__('Tools')
— пункт меню "инструменты" — это где всякие там: "импорт", "экспорт";__('Users')
— пользователи;__('Settings')
— пункт меню "Настройки". Его очень даже можно закрыть для клиентов, а то они настроят ...;__('Comments')
— комментарии;__('Plugins')
— ну и наконец, святое: пункт меню "Плагины".
Также, существует специальная функция WP для удаления пунктов меню и подменю: remove_menu_page() и remove_submenu_page().
—
Эта заметка встроена в: 10+ приемов с админкой WordPress (сайт для клиента)