我为super\\u poster添加了一个自定义用户角色,基本上他们发了20篇帖子,一旦达到$postlimit,就会自动向下移动到贡献者级别,向下移动和帖子计数工作正常,我的问题是wp系统会将用户添加到“无”中,而不是添加到贡献者角色中
if ($count_posts >= $postlimit) {
$current_user->remove_role( \'super_poster\' );
$current_user->add_role( \'contributer\' );
}
contributer在注册时设置为新用户默认值,因此我的情况是在wp admin用户编辑页面中,我可以看到新移动的(从super poster进入contributer)仍然具有“contributer的附加功能”,但是用户角色下拉列表中显示--此站点没有角色--
wp admin users页面在用户组“无”中显示super\\u海报
有什么好处?
最合适的回答,由SO网友:John P Bloch 整理而成
您可能想使用WP_User::set_role( \'contributor\' )
相反它取消设置所有当前角色,并设置新角色(参数)。
因此,上述内容是
if ($count_posts >= $postlimit) {
$current_user->set_role( \'contributor\' );
}