我目前正在一个wordpress网站上工作。它既是一个博客,也是一个论坛。
bbPress 文档说它有5个角色:
Keymaster -可以创建、编辑和删除其他用户的论坛、主题和答复。可以管理标签,并与适度的工具协调论坛。访问全球论坛设置、工具和导入程序。 版主-可以创建和编辑论坛。可以创建、编辑和删除其他用户的主题和答复。可以管理标签,并与适度的工具协调论坛。 参与者-可以创建和编辑他们自己的主题和答复。 观众-只能阅读主题和答复。 阻塞-所有功能都被显式阻止。
默认情况下,Wordpress有6个角色。
超级管理员-具有访问站点网络管理功能和所有其他功能的人。请参阅“创建网络文章”。 管理员(鼻涕虫:‘管理员’)-谁可以访问所有的管理功能在一个单一的网站。 编辑(代码片段:“编辑器”)--能够发布和管理帖子的人,包括其他用户的帖子。 作者(鼻涕虫:‘作者’)-谁可以发表和管理自己的帖子。 投稿人(鼻涕虫:‘贡献者’)-一个人谁可以写和管理他们自己的文章,但不能发表。 订阅者(弹格:“订阅者”)-一个只能管理他们的个人资料的人。
在wp-admin/options-general.php页面上写着:
新用户默认角色
Subscriber。
在wp-admin/options-general.php?page=bbpress中,它说:
自动赋予注册访问者
Participant论坛的角色。
我假设如果我使用wp-login.php?action=register注册,那么我将注册为Subscriber
我还假设,如果我使用使用[bbp-register]短代码的页面注册,那么我将注册为Participant。
这在我看来似乎不一致。
有没有办法,当一个用户注册时,他既是一个Subscriber,也是一个Participant。
发布于 2021-03-13 17:17:10
您需要挂起user_register上的操作来自动添加第二个角色:
add_action('user_register', 'user_register_participant', 10, 1);
function user_register_participant($user_id)
{
$u = get_user_by('ID', $user_id);
$u->add_role('participant');
}将这些代码放在主题的functions.php文件的末尾,这样就可以了。
UPD:以后使用wp-login.php?action=register注册用户。
https://stackoverflow.com/questions/66614844
复制相似问题