Ответы:
Это позволяет плагинам легко захватывать роль по умолчанию, пока они активны.
// 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');