Удаление пунктов меню в админке 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 (сайт для клиента)