Gostaria que os novos usuários do blog tivessem uma função personalizada, e não o Assinante. Como faço para definir isso programaticamente? Eu sei que isso pode ser alterado no back-end.
fonte
Gostaria que os novos usuários do blog tivessem uma função personalizada, e não o Assinante. Como faço para definir isso programaticamente? Eu sei que isso pode ser alterado no back-end.
Isso permite que os plugins sequestrem facilmente a função padrão enquanto estão ativos.
// 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
});
Eu o uso para garantir que alguns plug-ins que precisam de funções de assinante o obtenham, independentemente das tentativas do administrador de mudar :)
Atenciosamente .
Quando um novo usuário é criado por meio da wp_insert_user()
função, a função é definida com o set_role()
método da User
classe e definida como a função de usuário padrão.
A função de usuário padrão é recuperada do banco de dados get_option('default_role')
e pode ser definida através do Painel do administrador, indo para Configurações> Geral> Função padrão do novo usuário.
Se você registrou sua nova função (usando add_role()
, ela deve estar disponível lá para você escolher).
Como alternativa, para obter mais controle, você pode conectar-se às ações user_register
ou profile_update
para executá set_role
-las condicionalmente, ou da maneira que desejar.
Depois de criar o usuário usando
Crie o objeto de usuário
Em seguida, defina o papel
Você pode substituir a função 'editor' por qualquer um dos seguintes:
Administrador
editor
Autor
Contribuinte
Assinante
fonte
Coloque-o no Pluging or functions.php do seu tema
fonte