如何在注册时添加多个角色?

时间:2019-04-11 23:21:13

标签: php wordpress

我正在尝试在注册时向用户添加2个角色。 角色1-2个默认的已预设角色之一。 角色2-在注册时为每个用户单独生成。

仅分配默认角色时-没有分配问题。 当我添加动态生成的角色时,它仅分配此角色,而缺少默认角色。

    $user = wp_insert_user( $userdata );
    $getuser = new WP_User($user); 
    $getuser->set_role('profile_1');
    add_role( 
    'user-ID'.$user, 
    __( 'user-ID'.$user, 'wordpress-66604-809452.cloudwaysapps.com' ), 
    array(
        'read' => true,
        'edit_posts' => true,
    ));
    $getuser->set_role('user-ID'.$user);

1 个答案:

答案 0 :(得分:0)

从我正在阅读的内容中,set_role删除了角色并仅分配了新角色,就像您所描述的一样

https://codex.wordpress.org/Class_Reference/WP_User#set_role.28.24role.29

设置角色

set_role($ role) 设置用户的角色。

这将删除用户以前的角色,并为用户分配新的角色。您可以将角色设置为空字符串,这将从用户中删除所有角色。

参数 角色(字符串)-角色名称。 退货 没有 以来 2.0.0 相关动作

添加角色

add_role($ role) 向用户添加角色。

使用功能和角色更新用户的元数据选项。

参数 角色(字符串)-角色名称。