具体实现办法是在当前主题的functions.php中添加以下代码:
- function remove_menus() {
- global $menu;
- $restricted = array(__(‘Dashboard’), __(‘Posts’), __(‘Media’), __(‘Links’), __(‘Pages’), __(‘Appearance’), __(‘Tools’), __(‘Users’), __(‘Settings’), __(‘Comments’), __(‘Plugins’));
- end ($menu);
- while (prev($menu)){
- $value = explode(‘ ‘,$menu[key($menu)][0]);
- if(in_array($value[0] != NULL?$value[0]:”" , $restricted)){unset($menu[key($menu)]);}
- }
- }
- if ( is_admin() ) {
- // 删除左侧菜单
- add_action(‘admin_menu’, ‘remove_menus’);
- }
自定义要去除的顶级菜单
以上代码核心部分是一个函数remove_menus(),然后通过WordPress的动作接口函数add_action来执行remove_menus函数,在remove_menus函数中,通过$restricted数组来定义需要删除哪些菜单项,以上$restricted数组提供了全部菜单项,也就是说如果你全部将以上代码不做修改地复制到functions.php,那你的WordPress后台就没有任何菜单了,你应该根据实际需要去除菜单,下面讲讲$restricted各个数组项对应的菜单:
__(‘Dashboard’) : 控制板菜单
__(‘Posts’) : 文章
__(‘Media’) : 媒体
__(‘Links’) : 链接
__(‘Pages’) : 页面
__(‘Comments’) : 评论
__(‘Appearance’) : 外观
__(‘Plugins’) : 插件
__(‘Users’) : 用户
__(‘Tools’) : 工具
__(‘Settings’) : 设置
例如你只想去除评论和工具菜单,你只需改写以上代码第3行的$restricted数组代码如下:
$restricted = array(__(‘Comments’), __(‘Tools’));
根据用户角色去除菜单
wordpress共有5种角色:administrator(管理员) editor(编辑) author(作者) contributor(投稿者) subscriber(订阅者)
判断角色方法举例:
if(!current_user_can(‘administrator’)){……} //当不是管理员
去除非管理员用户后台一级菜单和二级菜单举例,在主题functions.php中添加如下代码:
- /*not_administrator_remove_menu_page*/
- function n_a_remove_menu_page(){
- remove_submenu_page( ‘edit.php’, ‘post-new.php’ ); //移除“文章”下的“写文章”
- remove_menu_page(‘tools.php’);
- remove_menu_page(‘edit-comments.php’);
- }
- if(!current_user_can(‘administrator’) && is_admin()){
- add_action(‘admin_menu’, ‘n_a_remove_menu_page’);
- }
新闻热点
疑难解答
图片精选