У меня есть пользовательские роли в моей настройке, и я хочу иметь возможность автоматически изменять роль пользователя через функцию. Скажите, что у пользователя А есть роль ПОДПИСЧИКА, как я могу изменить его на РЕДАКТОР? При добавлении роли мы просто:
add_role( $role_name , $role_display_name , array( 'read' => true,
'edit_posts' => false,
'delete_posts' => false, ));
Как насчет смены роли? Есть ли что-то вроде:
change_role($old_role, $new_role);
ОБНОВЛЕНИЕ: я думаю, что это сделает:
$wp_user_object = new WP_User($current_user->ID);
$wp_user_object->set_role('editor');
источник
remove_role()
иadd_rule()
сохранить данные в базу данных?Просто отметьте, что существует более простой способ изменить роль пользователя, что особенно полезно, когда вы не знаете текущую роль пользователя:
->set_role()
Пример:
источник
Чтобы экстраполировать ответ t31os, вы можете добавить что-то подобное в свой файл функций, если вы хотите сделать это программно на основе условия
источник
$blogID
неправильно.get_users()
в любом случае будет использовать текущий идентификатор блога по умолчанию.Вы можете изменить роль любого пользователя, отредактировав профиль пользователя. Нет необходимости добавлять больше кода, когда эта опция уже встроена в WordPress.
Или
Вы можете использовать код, чтобы изменить всех текущих пользователей с ролью подписчика на редактор:
источник
Для этого есть функция WordPress!
Я думаю, что лучше всего использовать функции WordPress, если и когда они доступны.
Вы можете использовать функцию wp_insert_user () , где один из аргументов, который вам нужно будет предоставить, это $ userdata ['role']. В этом аргументе вы можете указать роль, на которую вы хотите изменить пользователя.
источник
Вы должны включить /wp-includes/registration.php, если вы используете код в качестве отдельного скрипта. С уважением Уве
источник
Вы можете использовать wp_update_user . Ваш код должен быть таким:
источник
источник
Я знаю, что это очень старый пост, но я обнаружил, что роли для пользователей хранятся в
wp_usermeta
таблице с ключомwp_capabilities
вmeta_key
столбце.Если вы хотите изменить роль пользователя, вы можете сделать это с помощью этой простой функции.
Есть два способа использовать эту функцию.
Если вы хотите изменить роль для одной роли.
Или, если вы хотите добавить несколько ролей для пользователя, используйте роли как массив во втором параметре.
Удачи.
источник