去除WordPress管理面板不想要的菜单项
- 发表于
- WordPress
WordPress 后台控制面板的菜单项目比较多,而实际上有些是我们一部份博主或用户用不到的,根据各人不同需要,可以将它们全部去除,也可以只去除其中的几项,怎么做呢?首先,撇开插件不说(对于 WordPress 来说,几乎所有你想要的功能都可以通过插件的方式来实现),这里只讨论“非插件”的方法。我们可以通过在 functions.php 文件中添加一段去除菜单项的功能函数来实现。
在当前主题的 functions.php 文件中添加以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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 各个数组项所对应的菜单中英对照:
1 2 3 4 5 6 7 8 9 10 11 |
__(‘Dashboard’) : 控制板 __(‘Posts’) : 文章 __(‘Media’) : 媒体 __(‘Links’) : 链接 __(‘Pages’) : 页面 __(‘Comments’) : 评论 __(‘Appearance’) : 外观 __(‘Plugins’) : 插件 __(‘Users’) : 用户 __(‘Tools’) : 工具 __(‘Settings’) : 设置 |
如果你想按不同用户角色来去除相应的边栏菜单,可以添加一个用户等级的判断。我们可以这样做:给上面代码中提到的 add_action 添加一个判断语句,将它改为如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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'); } |
附:用户角色及其等级的对应关系如下:
1 2 3 4 5 |
0 级对应 订阅者 1 级对应 投稿者 2 – 4 级对应 作者 5 – 7 级对应 编辑 8 – 10 级对应 管理员 |
代码来源:hungred
原文连接:去除WordPress管理面板不想要的菜单项
所有媒体,可在保留署名、
原文连接
的情况下转载,若非则不得使用我方内容。