mbxzb主题已启用,当前站点还没有验证正版主题授权,暂不可使用 前往授权激活 获取正版授权
WordPress后台删除不需要的侧边栏菜单 - 模板下载吧

WordPress后台删除不需要的侧边栏菜单

wordpress的后台说简单也简单,说复杂也复杂。。。为了方便,我们可以想办法通过技术手段来对后台的左侧栏进行删除或隐藏,自然是也可以根据不同的用户角色来定义后台侧栏菜单的删减,那么下面就直接说核心教程了!

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

以上代码核心部分是一个函数remove_menus(),然后通过WordPress的动作接口函数add_action来执行remove_menus函数。在remove_menus函数中,通过$restricted数组来定义需要删除哪些菜单项,以上$restricted数组提供了全部菜单项,也就是说如果你全部将以上代码不做修改地复制到functions.php,那你的WordPress后台就没有任何菜单了,你应该根据实际需要去除菜单,下面讲讲$restricted各个数组项对应的菜单:

  1. __('Dashboard') : 控制板菜单
  2. __('Posts') : 文章
  3. __('Media') : 媒体
  4. __('Links') : 链接
  5. __('Pages') : 页面
  6. __('Comments') : 评论
  7. __('Appearance') : 外观
  8. __('Plugins') : 插件
  9. __('Users') : 用户
  10. __('Tools') : 工具
  11. __('Settings') : 设置

例如你只想去除评论和工具菜单,你只需改写以上代码第3行的$restricted数组:

  1. $restricted = array(__('Comments'), __('Tools'));

删除不必要的子菜单

WordPress后台的顶级菜单下面还有子菜单,当然有些子菜单是用不到的,我们也可以将其删除,WordPress 3.1以后的版本只需用到一个函数remove_submenu_page( $menu_slug, $submenu_slug ),这里有两个参数,$menu_slug是子菜单所在顶级菜单的缩略名,$submenu_slug为子菜单的缩略名,那如何获得这两个缩略名呢?例如,点击顶级菜单设置,链接地址类似:

http://example/wp-admin/options-general.php

那么顶级菜单设置的缩略名为options-general.php,也就是去除http://example/wp-admin/后剩下的东西,依次类推;接着点击顶级菜单设置下面的子菜单隐私,会打开以下网址:

http://example/wp-admin/options-privacy.php

那么子菜单隐私的缩略名为options-privacy.php,好了,就这么简单,下面是实现代码,:

  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. }

根据用户角色去除菜单

如果你想按用户角色来去除相应的侧边栏菜单,那就再做一下用户等级的判断就可以了,给第11行的add_action添加判断,改写成:

  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后台 – 用户那里,管理员可以查看 / 编辑用户的角色,以下是用户角色和其等级的对应关系:

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

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

使用超简单的插件

下面推荐一个使用超简单的插件,不需要任何编码,只需拖拖鼠标就可以实现上面所说的大部分功能。插件名称是:Admin Menu Editor,可以点此前往WordPress官方下载,启用后到设置 – Menu Editor,就可以编辑后台的菜单了,还可以添加外链菜单,可以调整菜单顺序等等,剩下的你自己体验吧!

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有M币奖励和额外收入!

模板下载吧 快速入门 WordPress后台删除不需要的侧边栏菜单 https://www.mbxzb.com/blog/file/rumen/3119.html

从明天起,做一个幸福的人,喂马、劈柴、周游世界…

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情

相关文章

评论
暂无评论
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 威武 友军 顶贴
官方客服团队

为您解决烦忧 - 24小时在线 专业服务