WordPress后台删除不需要的侧边栏菜单方法介绍

具体实现方法是在当前主题的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’);
}

希望本文所述对大家的WordPress建站有所帮助。

标签

发表评论