J'ai des rôles personnalisés dans ma configuration et je veux pouvoir modifier automatiquement le rôle d'un utilisateur via une fonction. Supposons que l'utilisateur A ait un rôle d'abonné, comment puis-je le changer en EDITOR? Lors de l'ajout d'un rôle, nous venons de:
add_role( $role_name , $role_display_name , array( 'read' => true,
'edit_posts' => false,
'delete_posts' => false, ));
Que diriez-vous de changer de rôle? Y a-t-il quelque chose comme:
change_role($old_role, $new_role);
UPDATE: Je pense que celui-ci fera:
$wp_user_object = new WP_User($current_user->ID);
$wp_user_object->set_role('editor');
la source
remove_role()
etadd_rule()
sauvegarder des données dans la base de données?Notez simplement qu'il existe un moyen plus simple de modifier le rôle d'utilisateur, ce qui est particulièrement utile lorsque vous ne connaissez pas le rôle actuel de l'utilisateur:
->set_role()
Exemple:
la source
Pour extrapoler la réponse de t31os, vous pouvez insérer quelque chose comme ceci dans votre fichier de fonctions si vous souhaitez le faire par programme en fonction d'une condition.
la source
$blogID
est mauvaise.get_users()
utilisera de toute façon l'ID de blog actuel par défaut.Vous pouvez modifier le rôle de n'importe quel utilisateur en modifiant son profil. Plus besoin d'ajouter de code lorsque cette option est déjà intégrée à WordPress.
Ou
Vous pouvez utiliser le code pour changer tous les utilisateurs actuels avec le rôle d'abonné en éditeur:
la source
Il y a une fonction WordPress pour ça!
Je pense qu'il est préférable d'utiliser les fonctions WordPress, si et quand elles sont disponibles.
Vous pouvez utiliser la fonction wp_insert_user () , où l’un des arguments à fournir est le $ userdata ['role']. Dans cet argument, vous pouvez spécifier le rôle en lequel vous souhaitez changer l'utilisateur.
la source
vous devez inclure le fichier /wp-includes/registration.php si vous utilisez le code en tant que script autonome. Cordialement Uwe
la source
Vous pouvez utiliser wp_update_user . Votre code devrait être comme ceci:
la source
la source
Je sais que très ancien poste, mais j'ai trouvé que les rôles pour les utilisateurs sont stockés dans le
wp_usermeta
tableau avec la cléwp_capabilities
dans lameta_key
colonne.Si vous voulez changer le rôle d'utilisateur, vous pouvez le faire avec cette simple fonction.
Il y a deux façons d'utiliser cette fonction.
Si vous souhaitez modifier le rôle pour un seul rôle.
Ou si vous souhaitez ajouter plusieurs rôles à l'utilisateur, utilisez les rôles comme tableau dans le deuxième paramètre.
Bonne chance.
la source