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

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

为什么需要自定义角色名称?

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

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

要修改 WordPress 默认角色身份,你只需要记下代码复制到所用主题的 functions.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['contributor']['name'] = 'Owner';
  6.   $wp_roles->role_names['contributor'] = 'Owner';
  7. }
  8. add_action('init', 'wps_change_role_name');

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

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

 

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