在WordPress中,可以使用add_role()函数来创建自定义的用户角色。
例如,以下代码可以创建一个名为“test_role”的新用户角色:
$result = add_role(
'test_role', // 角色ID
'测试角色', // 角色名称
array(
'read' => true, // 允许查看前台
'edit_posts' => true, // 允许编辑内容
'delete_posts' => false, // 不允许删除内容
)
);
在上述代码中,第一个参数指定了角色的ID,第二个参数指定了角色的名称,第三个参数是一个包含指定权限的数组,可以根据需要进行更改。
WordPress中有两种常见的方法可以在用户角色中管理权限:使用预定义的角色,或者使用插件来创建和管理自定义角色的权限。
对于预定义的角色,可以在“用户”->“角色”菜单中查看和编辑每个角色的权限。
对于自定义角色的权限,可以使用插件实现。一些流行的插件包括:
例如,下面的代码可以将“test_role”用户角色的“publish_posts”权限修改为“false”:
$role = get_role( 'test_role' );
$role->remove_cap( 'publish_posts' );
在上述代码中,使用get_role()函数获取了指定ID的角色对象,然后使用remove_cap()函数将“publish_posts”权限从角色中删除。
以下代码演示了如何创建一个名为“reviewer”的用户角色,允许用户查看其他作者的文章、编辑自己的文章并在站点上提交评论:
function add_reviewer_role() {
// 创建新角色
add_role( 'reviewer', 'Reviewer', array(
'read' => true, // 允许查看前台
'edit_posts' => true, // 允许编辑内容
'edit_others_posts' => true, // 允许编辑其他用户的文章
'publish_posts' => false, // 不允许发布文章
'read_private_posts' => false, // 不允许查看其他用户的私人文章
'read_private_pages' => false, // 不允许查看其他用户的私人页面
'manage_categories' => true, // 允许管理分类
'manage_links' => true, // 允许管理链接
'edit_comments' => true, // 允许编辑评论
'moderate_comments' => true, // 允许审核评论
'manage_options' => false, // 不允许管理选项
) );
}
add_action( 'init', 'add_reviewer_role' ); // 在初始化时添加角色
在上述代码中,使用add_role()函数创建了一个名为“reviewer”的新用户角色,其中包含了指定的权限。该角色可以在站点中看到其他作者的文章并提交评论,但不能发布新文章。