站长们在创建自己的网站时,根据网站内容的不同,会有不同的网站形式,后台菜单也会不一样,所以有必要删除wordpress后台不需要的侧边栏菜单,以至根据用户级别权限显示不同的菜单,下面就做一下介绍。

一、删除wordpress后台不需要的顶级菜单

  1. //删除wordpress后台不需要的顶级菜单  
  2. function remove_menus() {  
  3.     global $menu;  
  4.     $restricted = array(__(‘Dashboard’), __(‘Posts’), __(‘Media’), __(‘Links’), __(‘Pages’), __(‘Appearance’), __(‘Tools’), __(‘Users’), __(‘Settings’), __(‘Comments’), __(‘Plugins’));  
  5.     end ($menu);  
  6.     while (prev($menu)){  
  7.         $value = explode(‘ ‘,$menu[key($menu)][0]);  
  8.         if(strpos($value[0], ‘<‘) === FALSE) {  
  9.             if(in_array($value[0] != NULL ? $value[0]:“” , $restricted)){  
  10.                 unset($menu[key($menu)]);  
  11.             }  
  12.         }  
  13.         else {  
  14.             $value2 = explode(‘<‘, $value[0]);  
  15.             if(in_array($value2[0] != NULL ? $value2[0]:“” , $restricted)){  
  16.                 unset($menu[key($menu)]);  
  17.             }  
  18.         }  
  19.     }  
  20. }  
  21. if ( is_admin() ) {  
  22.     add_action(‘admin_menu’, ‘remove_menus’);  
  23. }  

下面介绍一下以上第4行中数组的含义:

__(‘Dashboard’) : 控制板菜单
__(‘Posts’) : 文章
__(‘Media’) : 媒体
__(‘Links’) : 链接
__(‘Pages’) : 页面
__(‘Comments’) : 评论
__(‘Appearance’) : 外观
__(‘Plugins’) : 插件
__(‘Users’) : 用户
__(‘Tools’) : 工具
__(‘Settings’) : 设置

二、删除wordpress后台不需要的二级子菜单

  1. function remove_submenu() {  
  2.     // 删除”设置”下面的子菜单”隐私”  
  3.     remove_submenu_page( ‘options-general.php’, ‘options-privacy.php’ );  
  4.     // 删除”外观”下面的子菜单”编辑”  
  5.     remove_submenu_page( ‘themes.php’, ‘theme-editor.php’ );  
  6. }  
  7. if ( is_admin() ) {  
  8.     add_action(‘admin_init’,’remove_submenu’);  
  9. }  

三、根据用户角色去除菜单

  1. function remove_menus() {  
  2.     global $menu;  
  3.     // 这里$restricted设置了评论和工具菜单  
  4.     $restricted = array(__(‘Comments’), __(‘Tools’));  
  5.     end ($menu);  
  6.     while (prev($menu)){  
  7.         $value = explode(‘ ‘,$menu[key($menu)][0]);  
  8.         if(in_array($value[0] != NULL?$value[0]:“” , $restricted)){unset($menu[key($menu)]);}  
  9.     }  
  10. }  
  11. function remove_submenu() {  
  12.     remove_submenu_page( ‘options-general.php’, ‘options-privacy.php’ );  
  13. }  
  14. global $current_user;  
  15. get_currentuserinfo();  
  16. //如果当前用户的等级小于3,那么就删除对应的菜单  
  17. if ($current_user->user_level < 3 && is_admin()) {  
  18.     add_action(‘admin_menu’, ‘remove_menus’);  
  19.     add_action(‘admin_init’,’remove_submenu’);  
  20. }  

在WordPress后台 – 用户那里,管理员可以查看 / 编辑用户的角色,以下是用户角色和其等级的对应关系:

0 级对应 订阅者
1 级对应 投稿者
2 – 4 级对应 作者
5 – 7 级对应 编辑
8 – 10 级对应 管理员

WordPress 3.0 之后将逐渐弃用用户数字等级,推荐使用户权限,可以用函数current_user_can()来判断用户权限。

四、使用Admin Menu Editor插件省去复杂的代码而超简单的删除后台菜单,该插件可以在wordpress插件处搜索到。

2014-01-20 更新至 1.1

  • 修复首页使用静态页面无法分页的BUG
  • 修复无法在PHP5.2版本下运行的BUG

2014-02-23 更新至 1.2

  • 修复页面无法选择自定义布局BUG
  • 修复归档页面若使用2栏及3栏布局导致排版混乱的BUG
  • 增加文章列表若没有特色图像则不显示图像

03/22/2014 – v1.3 更新

  • 添加文章社交分享功能
  • 添加分类目录特色图像功能: 若文章无特色图像则调用分类目录默认特色图像
  • 添加后台文章列表特色图像预览列
  • 修复页脚链接小工具链接地址错位问题
  • 修复侧边栏标签小工具对齐问题
  • 修复文章快速定位评论造成页面错位问题
  • 删除不必要的JS文件
  • 重新打包演示数据及说明文档(前几个版本更新忘打包了)