Je voudrais que les nouveaux utilisateurs du blog aient un rôle personnalisé, plutôt qu'Abonné. Comment définir cela par programmation? Je sais que cela peut être changé depuis le backend.
Cela permet aux plugins de pirater facilement le rôle par défaut lorsqu'ils sont actifs.
// 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
});
Je l'utilise pour m'assurer que certains plug-ins qui ont besoin de rôles d'abonné l'obtiennent indépendamment des tentatives de modification de l'administrateur :)
Cordialement .
Lorsqu'un nouvel utilisateur est créé via la fonction wp_insert_user()
, le rôle est défini avec la méthode set_role()
de la classe User
et défini sur le rôle d'utilisateur par défaut.
Le rôle d'utilisateur par défaut est extrait de la base de données get_option('default_role')
et peut être défini via le tableau de bord de l'administrateur en accédant à Paramètres> Général> Nouveau rôle par défaut de l'utilisateur.
Si vous avez enregistré votre nouveau rôle (à l’aide de add_role()
, il devrait être disponible à cet emplacement.
Pour plus de contrôle, vous pouvez également associer les actions user_register
ou profile_update
à set_role
de manière conditionnelle, ou de toute autre manière.
Après avoir créé l'utilisateur à l'aide de
$user_id = wp_create_user( $user_login, $pas1, $user_email );
Créer l'objet utilisateur
$user = new WP_User($user_id);
Puis définissez le rôle
$user->set_role('editor');
Vous pouvez remplacer le rôle 'éditeur' par l'un des éléments suivants:
Administrateur
Éditeur
Auteur
Donateur
Abonné
Mettez-le dans le plugin ou functions.php de votre thème
//Make 'Client' a default role
update_option('default_role','client');