Я бы хотел, чтобы у новых пользователей блога была пользовательская роль, а не подписчик. Как мне установить это программно? Я знаю, что это можно изменить из бэкэнда.
источник
Я бы хотел, чтобы у новых пользователей блога была пользовательская роль, а не подписчик. Как мне установить это программно? Я знаю, что это можно изменить из бэкэнда.
Это позволяет плагинам легко захватывать роль по умолчанию, пока они активны.
// 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
их условно или как вам угодно.
После того, как вы создали пользователя с помощью
Создать объект пользователя
Затем установите роль
Вы можете заменить роль редактора любым из следующих:
администратор
редактор
автор
участник
подписчик
источник
Поместите это в Pluging или functions.php вашей темы
источник