自定义用户角色名称和权限的方法

wordpress 默认有五种用户角色,按权限等级从高到低分别为超级管理员(站群)、管理员、编辑、作者、投稿者、订阅者,并且角色的管理权限是向下兼容的,但这些角色的名称和权限默认是不能编辑的。如果你想为某个角色起一个更酷的中文名称,或者为各角色分配更加个性化的权限,可以分别通过下文中介绍的代码和插件来实现。

一、各角色对应的英文名称及默认权限介绍:

1、订阅者(subscriber):只允许修改自己的个人资料,例如昵称、联系方式、密码等等。

2、投稿者(contributor ):具有订阅者的所有权限。可以发表或删除自己的文章,但所发文章需经管理员审核后才能在博客上显示。可以编辑处于待审中的文章,但对已通过审核的文章不能编辑。也可以查看所有站内评论,但不能对评论进行编辑。

3、作者(author):具有投稿者的所有权限。所发表的文章无需管理员审核即可显示,还可以编辑已通过审核的文章,并且拥有媒体库的使用权限。

4、编辑(editor ):具有作者的所有权限。可以对文章、标签、分类、页面、友情链接、评论进行管理,也可以编辑待审中的文章,但编辑后仍然处于待审状态。实际上,编辑拥有除外观、插件、用户、设置和备份之外所有后台选项的操作权限。

5、管理员(administrator ):是wordpress最重要的角色,也是最高管理者,拥有博客后台的所有操作权限,通常该角色是唯一的。

二、用户角色名称的修改方法:

1、以修改“订阅者”为“忠实会员”为例,复制下面的代码到wordpress主题的function.php文件中。

  1. function wps_change_role_name() {
  2.     global $wp_roles;
  3.     if ( ! isset( $wp_roles ) )
  4.         $wp_roles = new WP_Roles();
  5.     $wp_roles->roles['subscriber']['name'] = '忠实会员';
  6.     $wp_roles->role_names['subscriber'] = '忠实会员';
  7. }
  8. add_action('init', 'wps_change_role_name');

2、对照修改第5、6行中你想要编辑的角色英文名称(小写字母)所对应的中文名称,保存即可。

3、之后,新增用户时,在角色选择中可以看到你所修改的用户角色的新名称。如下图:

三、全局修改

  1. /**
  2.  * @角色重命名
  3.  * 2022年12月12日
  4.  * 1、订阅者(subscriber):只允许修改自己的个人资料,例如昵称、联系方式、密码等等。
  5.  * 2、投稿者(contributor ):具有订阅者的所有权限。可以发表或删除自己的文章,但所发文章需经管理员审核后才能在博客上显示。可以编辑处于待审中的文章,但对已通过审核的文章不能编辑。也可以查看所有站内评论,但不能对评论进行编辑。
  6.  * 3、作者(author):具有投稿者的所有权限。所发表的文章无需管理员审核即可显示,还可以编辑已通过审核的文章,并且拥有媒体库的使用权限。
  7.  * 4、编辑(editor ):具有作者的所有权限。可以对文章、标签、分类、页面、友情链接、评论进行管理,也可以编辑待审中的文章,但编辑后仍然处于待审状态。实际上,编辑拥有除外观、插件、用户、设置和备份之外所有后台选项的操作权限。
  8.  * 5、管理员(administrator ):重要的角色。
  9.  */
  10.  
  11. function change_role_name() {
  12.   global $wp_roles;
  13.   if ( ! isset( $wp_roles ) )
  14.       $wp_roles = new WP_Roles();
  15.   // 订阅者(subscriber)
  16.   $wp_roles->roles['subscriber']['name'] = '学员';
  17.   $wp_roles->role_names['subscriber'] = '学员';
  18.   // 投稿者(contributor )
  19.   $wp_roles->roles['contributor']['name'] = '助教';
  20.   $wp_roles->role_names['contributor'] = '助教';
  21.   // 作者(author)
  22.   $wp_roles->roles['author']['name'] = '老师';
  23.   $wp_roles->role_names['author'] = '老师';
  24.   // 编辑(editor )
  25.   $wp_roles->roles['editor']['name'] = '教务总监';
  26.   $wp_roles->role_names['editor'] = '教务总监';
  27.   // 
  28. }
  29. add_action('init', 'change_role_name');
  30.  
  31. /**
  32.  * @获取角色名称
  33.  * 2022年12月20日
  34.  */
  35. function get_user_role() { 
  36.   if (current_user_can('level_10')){
  37.       echo '管理员';
  38.   }elseif (current_user_can('level_7')) {
  39.       echo '教务总监';
  40.   }elseif (current_user_can('level_2')) {
  41.       echo '老师';
  42.   }elseif (current_user_can('level_1')) {
  43.       echo '助教';
  44.   }elseif (current_user_can('level_0')) {
  45.       echo '学员';
  46.   }else{
  47.       echo '访客';
  48.   }
  49. }
话题:

相关推荐

修改用户的固定链接形式

第一步,修改固定地址的根目录 把author修改为user 非常简单,网上随便一搜就有一大堆文章来解释。代码如下: add_action('init', 'new_author_base'); function new_author_base() { ? g……