同乐儿

  1. 首页
  2. wordpress开发
WordPress后台删除不需要的侧边栏菜单(含非插件方法)
发布 | 1年前 (2017-09-14) | 阅读数:2623 | 评论数: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开发 的文章

分享至:




评论
  • 117 评论
  • 129 粉丝
  • 131 文章
  • 最新评论
    二呆说:看见岛有了点信号,我用的时候就是看对应网...
    123123123说:我试过了,没改成功,不着急用,看了qur...
    二呆说:6.0应该也行,时间太长忘记了,好像6....
    123123123说:能不能适配下emlog6.0
    二呆说:啥意思,背景就是简单的网页背景图片。。。
    随机热门
    标签
    wordpress (81) wordpress优化 (26) wordpress主题 (24) 原创 (23) wordpress插件 (21) wordpress教程 (18) wordpress seo (17) Typecho (14) Typecho插件 (11) 博客主题 (8) emlog插件 (6) wordpress维护 (6) emlog (6) CMS主题 (5) 企业主题 (4) DNSPod for emlog (3) 淘宝客主题 (3) 修订版本 (3) 自动保存 (3) 移动适配 (3)