我们可以通过在 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 级对应 管理员
时间: 2024-09-24 21:10:04