Respostas:
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
$user_id = wp_create_user( $user_login, $pas1, $user_email );
Crie o objeto de usuário
$user = new WP_User($user_id);
Em seguida, defina o papel
$user->set_role('editor');
Você pode substituir a função 'editor' por qualquer um dos seguintes:
Administrador
editor
Autor
Contribuinte
Assinante
Coloque-o no Pluging or functions.php do seu tema
//Make 'Client' a default role
update_option('default_role','client');