版本:wordpress4.9.7

需要搭配的插件:

Adminimize :根据角色权限,设置用户访问的相关后台页面

业务分析:

1.后台可能需要多个管理员进行操作,设置超级管理员用户一名,设置普通管理员角色组

具体分析:

默认管理员可以为普通用户添加所有角色中的任何一个角色,但是为wordpress添加多个管理员后,任意一个管理员都可以将其他管理员进行修改和删除,对此个人认为不可取,由于对wordpress接触时间仅有几天,对各方面不是很熟悉,所以首先想到的是从代码层去修改。初步思想如下:

1.1 设置一个超级管理员,普通管理员仅能由超级管理员去添加

1.2 超级管理员后台管理用户页面仅显示普通管理员及以下角色用户,不显示超级管理员本身

1.3 普通管理员只能添加普通角色权限,不能添加超级管理员以及普通管理员权限

1.4 管理员后台管理用户页面仅显示普通角色用户,不显示普通管理员这一用户组)

2.后台需要针对普通管理员展示与超级管理员不同的页面

具体分析:

普通管理员主要是给普通用户使用,主要用来添加用户,编辑用户,发布文章,审核文章等等

超级管理员主要是给站长或者搭建者使用,除普通管理员能够使用的功能外,还可以对菜单导航,插件,页面,代码编辑等相关页面进行使用。

这个时候需要使用插件Adminimize来对对应角色组划分相关页面,该插件可以根据角色组设置对应角色里的用户能够看到对应页面,勾选中则不显示,如图:

甚至还可以对一些不必要的元素进行屏蔽,比如仪表盘这类,主要通过他来设置超级管理员与管理员能够看到的页面以及能够使用的插件,我这里设置了绝大部分插件都不让普通管理员使用。

效果如下(左:修改前,右:修改后):

        

第一步:设置超级管理员以及普通管理员

参考资料:https://zhangzifan.com/wordpress-custom-user-role.html

(这一步据说可以通过相关插件去操作,感兴趣的同学可以去试试)

首先进入你的主题文件夹,打开function.php文件(可以在后台外观编辑页面中选择该文件直接编辑),加入以下代码

//设置角色组
add_action('init', 'fanly_change_role_name');
function fanly_change_role_name() {global $wp_roles;if ( ! isset( $wp_roles ) ) $wp_roles = new WP_Roles();/** 如果需要新建角色,请取消注释以下代码,新建后请重新注释代码* 权限配置可以默认,也可以根据情况修改* 第一个参数为角色标识,字段唯一不可以重复,必须英文* 第二个参数为角色名,可以重复*/add_role('admin', '管理者', array(
//        'read' => true, //阅读权限,true 表示允许
//        'edit_posts' => true,//编辑文章的权限,true 为允许
//        'delete_posts' => false, //删除文章的权限,false 表示不允许删除'level_10' => true));/** 如果要删除角色,请取消注释以下代码,删除后请重新注释代码* 参数为角色标识*/
//    remove_role( 'otherEnterpriseUsers' );/*** 以下是为系统存在的角色名设置别名* 如果要为新建角色设置别名请复制以下代码自行修改* $wp_roles->roles['角色标识']['name'] = '要设置的别名';* $wp_roles->role_names['角色标识'] = '要设置的别名';*系统默认角色标识:administrator -> 管理员* editor -> 编辑    subscriber -> 订阅者* contributor -> 投稿者    author -> 作者*///超级管理员$wp_roles->roles['administrator']['name'] = '超级管理员';$wp_roles->role_names['administrator'] = '超级管理员';/** 以上是为系统存在的角色名设置别名*/
}

我这里的做法很简单,将原默认管理员设置为为超级管理员,然后在添加一个普通管理员的角色,如果还想要添加其他角色或者更改其他角色组的名称这里不做具体描述,我在注释里面写的很清楚,然后需要注意的是,需要记住创建的普通管理员的角色标识,之后的修改代码会用到。

做完这一步后,你可以添加用户设置角色的时候会发现原默认管理员角色名变成了超级管理员,然后新增了一个管理员,由于新的管理员也是level_10,这个时候会产生疑问,这个普通管理员和超级管理员权限不就是一模一样的呢,对的,你的想法没有错,他们权限就是一模一样,多设置一个角色组的目的是为了将管理用户划分到该组下,然后通过插件Adminimize对该角色进行页面权限以及插件使用权限划分,根据自己实际需要去划分即可,我这里的最终结果,在之前的业务分析中的第2条已经展示了,这里就不再展示了。

至此,两个不同管理员的角色就已经设置完成。

wordpress设置超级管理员以及修改管理后台用户列表显示(一)相关推荐

  1. web端业务数据管理平台+Axure运营数据管理平台+月度数据统计分析+年度排行榜数据统计页面分析+运营大数据统计管理后台+用户信息管理+Axure通用web端高保真交互业务数据管理平台

    作品介绍:原型内容包含:web端业务数据管理平台+Axure运营数据管理平台+月度数据统计分析+年度排行榜数据统计页面分析+运营大数据统计管理后台+用户信息管理+Axure通用web端高保真交互业务数 ...

  2. 【超详细Django网站开发过程3】便利店管理系统之——该如何建立超级管理员账户去管理客户信息呢?

    便利店老板需要一个超级管理员权限对店内各种信息进行增删查改.以前我们或许还需要专门做一个后台管理界面进行信息交互,现在Django为我们提供了管理员网页来添加.修改.删除自己定义的 model 表数据 ...

  3. Win10家庭版开启Administrator超级管理员账号 + Win10将中文用户文改为英文名

    Win10家庭版开启Administrator超级管理员账号 前言 我们在安装和运行一些软件时,会遇到中文字符不支持的情况.所以我们来一步步解决这个问题. 对于Win10家庭版的可能系统不会默认打开A ...

  4. win7系统 普通管理员被删除,超级管理员被禁用。普通用户下。怎么激活administrator

    需要启用超级管理员帐户,然后可以在超级管理员账户安装,在标准用户下正常使用. 如果你也想启用超级管理员帐户,可以按如下的步骤操作:右键单击"计算机"→"管理", ...

  5. mac设置计算机用户名,如何修改mac电脑用户名称 苹果Mac修改用户名图文教程

    如何修改mac电脑用户名称 苹果Mac修改用户名图文教程.我们在使用电脑的时候,总是会遇到很多的电脑难题.当我们在遇到了需要在苹果电脑中修改用户名的时候,我们应该怎么操作呢?一起来看看吧. 1.当你打 ...

  6. django设置超级管理员_Django的简介与安装

    Django的简介与安装 Django 是用 Python 开发的一个免费开源的 Web 框架,可以用来快速搭建优雅的高性能网站.它采用的是"MVC"的框架模式,即模型 M.视图 ...

  7. Ubuntu 添加用户以及设置超级管理员权限

    添加用户 $是普通管员,#是系统管理员,在Ubuntu下,root用户默认是没有密码的.想启用root的话,得给root用户设置一个密码: ubuntu@ubuntu:/home/ubuntu$ su ...

  8. linux超级管理员名字修改,linux添加超级管理员用户,修改,删除用户

    useradd一个用户后,去修改/etc/passwd文件中的这个用户这一行,把其中的uid改为0,gid改为0(其中****代表一个用户名)这样****就具有root权限了 如: root2:x:0 ...

  9. centos7设置超级管理员

最新文章

  1. 拒绝躺平,Redis选择实现了自己的VM
  2. mysql 获取倒数第二_如何从MySQL中的表中获取倒数第二条记录?
  3. 王者荣耀(01背包)
  4. linux 头文件汇总
  5. 可持久化汇总(讲解+题目)
  6. 协议簇:TCP 解析: 基础
  7. MySQL5.7的多源复制
  8. baum welch java_Baum Welch估计HMM参数实例
  9. doubango的帧率太低,怎么解决?
  10. 推荐的Python电子书资源
  11. arm解锁 j-flash_jlink驱动下载(SEGGER J-FlASH ARM)
  12. 现实世界的补丁长什么样? [ICSME 18] A Closer Look at Real-World Patches (结尾附论文阅读反思)
  13. 对于rh v5系列服务器,华为rh2288v5服务器重定向问题引起pxe报错
  14. 数值卡,让数据可视化玩出新花样丨三叠云
  15. 搜狗输入html,搜狗输入法:回家的路
  16. flask_restful中的输出域(Resource、fields、marshal、marshal_with)
  17. Android 报错Failed to load native library: XXXX_so
  18. iPhone连接电脑后iTunes不识别的解决办法
  19. 【DSP教程】第36章 FIR滤波器的Matlab设计(含低通,高通,带通和带阻)
  20. 咕泡p5人工智能CV+NLP技术项目实战

热门文章

  1. C语言获取数组左上,左下,右上,右下三角形的元素
  2. 宇道生物完成复星医药Pre-A轮融资,专注药物研发信息化和智能化开发...
  3. rabbitMQ的详细介绍
  4. Vue教程 第一篇 基础
  5. KDJ指标详解包括什么kdj指标详解会发生钝化吗
  6. Cross-validation and KNN
  7. Nginx笔记(一)Nginx
  8. 【愚公系列】2021年12月 攻防世界-简单题-MOBILE-002(app1)
  9. Android Native代码中的status_t定义
  10. 微信小程序开发获取AppID 和 AppSecret