如何在 WordPress 中添加自定义用户角色

在使用 WordPress 网站时,管理员可能会遇到要选择用户角色的情况,这意味着管理员可以分配特定的用户控制级别。 有六种不同的预定义用户角色:超级管理员,管理员,编辑,作者,贡献者和订阅者。 每一种用户角色都有一组不同的任务和功能。

例如,超级管理员拥有对 WordPress 网站和用户的完全控制权,而订阅者仅具有阅读文章的功能。

用户角色的可能性如此之多,具体取决于您要在网站上使用哪种类型的用户。 在这些情况下,创建适当的用户角色将很有帮助。 您可以根据需要通过代码或插件的两种方法添加自定义用户角色。 让我们一一看一下。

自己写代码方法

WordPress 具有开源性质,因此我们可以写自己的代码来添加用户角色。

WordPress 提供了一个 add_role()函数,该函数接受三个参数:

add_role( string $role, string $display_name, array $capabilities = array() );

$role (string)(必需)角色名称,英文。

$display_name (string)(必需)角色的显示名称。

$capabilities (array)(可选)功能列表,例如 array( 'edit_posts' => true, 'delete_posts' => false );

现在,您必须将以下链接粘贴到主题文件夹中的 functions.php 文件中。

function wbcom_custom_roles() {
if ( get_option( 'custom_roles_version' ) < 1 ) {
add_role( 'custom_role', 'Custom Subscriber', array( 'read' => true, 'level_0' => true ) );
update_option( 'custom_roles_version', 1 );
}
}
add_action( 'init', 'wbcom_custom_roles' );

一切都准备就绪。 现在,您可以在 “后台> 设置> 常规” 中看到自定义创建的用户角色。

在上面的代码中,我们将 add_role()函数包装到另一个名为 wbcom_custom_roles()的函数中,该函数检查并确保用户角色仅创建一次,并且不会在每次加载网站时更新数据库。

您还可以在 add_role()函数的 array()参数中添加或修改角色。 例如,‘edit_posts’ => ‘true’ 或 ‘delete_posts’ => ‘false’ 或 ‘administrator’ => ‘true’等。

插件方式(推荐)

如果您不想在主题中添加自定义代码,也可以考虑使用插件。为此,我们使用 “User Role Editor” 插件,它是一个出色的用户角色和管理插件。

安装并激活此插件,然后进入 “用户”>“用户角色编辑器(User Role Editor)”

您可以在此处添加/删除用户角色或编辑现有角色。

创建用户角色后,您应该能在 “设置”>“常规” 中看到它。


一言以蔽之,正如您所看到的,通过代码或插件创建自定义用户角色并不难。 通过这些方法,您可以控制每个用户,而不会带来任何复杂性和不确定性。