同乐儿

  1. 首页
  2. wordpress开发
WordPress后台删除不需要的侧边栏菜单(含非插件方法)
发布 | 2年前 (2017-09-14) | 阅读数:3977 | 评论数:0 | 来源:同乐儿

引言:此文由子域名转移而来,因为细微强迫症和放弃子域名而不舍得完全丢弃,所以将会逐步第二次转移文章到主域名上来,二者主题(阿里白秀和D8)均来自大前端,追求完美的同时有一丝小懒,主题就不换了,D8主题用起来挺好。

站长们在创建自己的网站时,根据网站内容的不同,会有不同的网站形式,后台菜单也会不一样,所以有必要删除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插件处搜索到。


如果觉得该作者的文章对你有帮助,请随意打赏给他。您的支持将鼓励作者继续创作!
打赏
X
打赏本文作者方式

微信扫一扫可留言


继续浏览有关 wordpress,wordpress开发 的文章

分享至:


发表我的评论
取消评论

表情
  • 121 评论
  • 235 粉丝
  • 139 文章
  • 最新文章
    diamond于2019-04-26 22:17:16发表:WeMediaForEmlog付费阅读自媒体插件(支持payjs微信支付)插件截图:插件介绍:本插件可以隐藏文章...
    diamond于2019-04-23 00:22:41发表:TleBarragerForTypecho评论弹幕插件插件介绍:为Typecho增加评论弹幕功能使用方法:第一...
    diamond于2019-04-02 00:26:53发表:原创:WeMediaForWordPress付费阅读插件(支持免登录SPay+payjs微信支付)插件介绍:本插件可以隐藏文章中的任意部分内容,当访客付费后,可...
    diamond于2019-03-10 14:16:16发表:仿站:miaopaiForEmlog秒拍主题模板# 模板截图- 用户登陆截图- 首页截图- 文章页截图...
    diamond于2019-02-26 15:53:01发表:仿站:inkerForTypecho映客主题模板# 模板截图- 电脑版 综合截图- 电脑版 文章截图(...

    • 同乐儿
    • 北京 朝阳区
    • 2018年8月1日
    • 欢迎前往这里http://mb.yjz.top/web/sites/template挑选精美网站后联系微信Diamond0419购买~
    • 查看更多 >
    随机热门
    标签
    wordpress (82) 原创 (29) wordpress优化 (26) wordpress主题 (24) wordpress插件 (22) Typecho (19) wordpress教程 (18) wordpress seo (17) Typecho插件 (15) 博客主题 (8) emlog (8) emlog插件 (7) wordpress维护 (6) CMS主题 (5) 企业主题 (4) DNSPod for emlog (3) 淘宝客主题 (3) 修订版本 (3) 自动保存 (3) 移动适配 (3)
    阿里图床

    阿里图床