如何修改WordPress默认角色的名称?

WordPress提供了5种默认角色,不同的角色拥有不同的权限,决定着他们能做什么和不能做什么;比如:是否有权写作或者审核别人的文章;是否有权更换网站主题等。然而,WordPress并不允许你直接修改默认角色的名称。如何修改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格式,否则中文可能会显示为乱码。

再回头看看网站里的角色,变成了设这样:

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