Как добавить несколько ролей при регистрации? - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь добавить 2 роли пользователю при регистрации.Роль 1 - одна из двух стандартных, уже предустановленных ролей.Роль 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 голосов
/ 12 апреля 2019

Из того, что я читаю, set_role удаляет роли и назначает ТОЛЬКО новую, похоже, что вы описали

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

Установить роль

set_role($ role) Установите роль пользователя.

Это удалит предыдущие роли пользователя и назначит пользователю новую.Вы можете установить роль для пустой строки, и она удалит все роли у пользователя.

Параметры role (string) - имя роли.Ничего не возвращается с 2.0.0 Связанные действия

Добавить роль

add_role ($ role) Добавить роль для пользователя.

Обновляет параметр метаданных пользователя с помощью возможностей и ролей.

Параметры role (string) - имя роли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...