WordPress提供了5种默认角色,不同的角色拥有不同的权限,决定着他们能做什么和不能做什么;比如:是否有权写作或者审核别人的文章;是否有权更换网站主题等。然而,WordPress并不允许你直接修改默认角色的名称。不过,要做到却也不难,今天将告诉你如何进行修改这些默认的角色。

WordPress默认的5种角色分别是:Admin(管理员),Editor(编辑),Author(作者),Contributor(投稿者,撰稿人),Subscriber(订阅者)。

为什么需要

对于使用WordPress搭建个人博客的用户来说,并没有必要修改这些,因为他一般也用不到这些。但是对于企业网站来说是有必要的。

在WordPress收购WooCommerce之后,使用WordPress搭建外贸网站和在线商城的用户将会进一步增多。如果你用WordPress帮客户来做一个电子商务网站,网站的访客(也就是潜在的顾客)一定会很奇怪,为什么自己身份是Subscriber(订阅者)?因此,这种时候一定要处理好这个问题。

要修改WordPress默认角色身份,你只需要记下代码复制到所用主题的 functions.php 文件或者网站专用插件里,就可以了:

function wps_change_role_name() {
  global $wp_roles;
  if ( ! isset( $wp_roles ) )
   $wp_roles = new WP_Roles();
  $wp_roles->roles['contributor']['name'] = 'Owner';
  $wp_roles->role_names['contributor'] = 'Owner';
}
add_action('init', 'wps_change_role_name');

这里就将Contributor角色的名称修改成了Owner(主人,老板)。这里也可以使用中文,但是一定记得将文件保存为utf8 no bom格式,否则中文可能会显示为乱码。

这段代码来自Kevin Chard的网站。再回头看看网站里的角色,变成了设这样:

如何自定义修改WordPress默认角色的名称

不过,需要说明的是,这段代码只是将Contributor角色的名称修改了,并不会修改对应的权限,也没有增加新的角色,甚至连该角色的slug(缩略名,别名)都不会修改。