Ответы:
Это позволяет плагинам легко захватывать роль по умолчанию, пока они активны.
// Hijack the option, the role will follow!
add_filter('pre_option_default_role', function($default_role){
// You can also add conditional tags here and return whatever
return 'subscriber'; // This is changed
return $default_role; // This allows default
});
Я использую его, чтобы убедиться, что некоторые плагины, которым нужны роли подписчика, получают его независимо от попыток администратора изменить его :)
С уважением .
Когда новый пользователь создается с помощью wp_insert_user()функции, роль устанавливается с помощью set_role()метода Userкласса и устанавливается как роль пользователя по умолчанию.
Роль пользователя по умолчанию извлекается из базы данных get_option('default_role')и может быть установлена через панель администратора, выбрав «Настройки»> «Основные»> «Роль нового пользователя по умолчанию».
Если вы зарегистрировали свою новую роль (используя add_role(), она должна быть доступна для выбора).
В качестве альтернативы, для большего контроля вы можете подключиться к действиям user_registerили, profile_updateчтобы затем выполнять set_roleих условно или как вам угодно.
После того, как вы создали пользователя с помощью
$user_id = wp_create_user( $user_login, $pas1, $user_email );
Создать объект пользователя
$user = new WP_User($user_id);
Затем установите роль
$user->set_role('editor');
Вы можете заменить роль редактора любым из следующих:
администратор
редактор
автор
участник
подписчик
Поместите это в Pluging или functions.php вашей темы
//Make 'Client' a default role
update_option('default_role','client');