【www.bbyears.com--WordPress】
我们可以通过在 functions.php 文件中添加一段去除菜单项的功能函数来实现。
在当前主题的 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)]);
}
}
}
// 去除边栏菜单
add_action("admin_menu", "remove_menus");
上面代码中的 $restricted 数组提供了全部菜单项,如果你全部将以上代码原封不动地复制到 functions.php 文件中,那么你的 WordPress 后台就没有任何菜单了,所以,你应该根据实际需要只去除其中不必要的菜单项。
代码如下$restricted 各个数组项所对应的菜单中英对照:
__(‘Dashboard’) : 控制板
__(‘Posts’) : 文章
__(‘Media’) : 媒体
__(‘Links’) : 链接
__(‘Pages’) : 页面
__(‘Comments’) : 评论
__(‘Appearance’) : 外观
__(‘Plugins’) : 插件
__(‘Users’) : 用户
__(‘Tools’) : 工具
__(‘Settings’) : 设置
如果你想按不同用户角色来去除相应的边栏菜单,可以添加一个用户等级的判断。我们可以这样做:给上面代码中提到的 add_action 添加一个判断语句,将它改为如下:
function remove_menus() {
global $menu;
// 这里的$restricted设定了外观和媒体两个菜单项
$restricted = array(__("Appearance"), __("Media"));
end ($menu);
while (prev($menu)){
$value = explode(" ",$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){
unset($menu[key($menu)]);
}
}
}
global $current_user;
get_currentuserinfo();
//如果当前用户的等级小于4,那么就删除与之相应的菜单项
if ($current_user->user_level < 4) {
add_action("admin_menu", "remove_menus");
}
附:用户角色及其等级的对应关系如下:
0 级对应 订阅者
1 级对应 投稿者
2 – 4 级对应 作者
5 – 7 级对应 编辑
8 – 10 级对应 管理员