Vous cherchez un moyen d'envoyer des notifications par e-mail aux utilisateurs de WordPress lorsque leur rôle change ? Bien qu'il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour envoyer des notifications par e-mail aux membres lorsque leur rôle a été modifié dans WordPress.
Instructions :
Il vous suffit d'ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :
function user_role_update( $user_id, $new_role ) {
$site_url = get_bloginfo('wpurl');
$user_info = get_userdata( $user_id );
$to = $user_info->user_email;
$subject = "Role changed: ".$site_url."";
$message = "Hello " .$user_info->display_name . " your role has changed on ".$site_url.", congratulations you are now an " . $new_role;
wp_mail($to, $subject, $message);
}
add_action( 'set_user_role', 'user_role_update', 10, 2);
Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière de copier / coller correctement des extraits de code dans WordPress, afin de ne pas casser accidentellement votre site.
Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 62 meilleurs thèmes de blog WordPress gratuits et 7 meilleurs plugins de formulaire de contact WordPress.
Comment puis-je utiliser les balises HTML ici ?
Je veux mettre le texte en gras
$message = “Bonjour ” .$user_info->display_name . ” votre rôle a changé sur “.$site_url.”, félicitations vous êtes maintenant un ” . $new_role;
Vous pourriez essayer d'utiliser ce code pour cette ligne :
$message = “Bonjour ” .$user_info->display_name . ” votre rôle a changé sur “.$site_url.”, félicitations vous êtes maintenant un ” . $new_role . ““;
Parfait 👍
Merci beaucoup 👏
Votre article m'a aidé mais il envoie aussi des e-mails aux nouveaux inscrits. Je veux utiliser votre code pour deux rôles pour lesquels je veux des messages personnalisés. Ce code fonctionnerait-il pour cela ?
Le code devrait être modifié pour vérifier la valeur de
$new_role.J'ai utilisé ce code mais aucun e-mail n'a été reçu lorsque j'ai changé mon rôle
Vous voudrez peut-être consulter : https://www.isitwp.com/set-configure-smtp-wordpress/
celui-ci fonctionne et n'envoie pas d'e-mail si nouvel enregistrement
function user_role_update( $user_id, $new_role ) {
if ($new_role == “customer”) {}
elseif ($new_role == “role1″||”role2”) {
$site_url = get_bloginfo(‘wpurl’);
$user_info = get_userdata( $user_id );
$to = $user_info->user_email;
$subject = “Votre compte a été validé. Vous pouvez maintenant commencer à acheter sur 1223.com”;
$message = “Bienvenue ” .$user_info->display_name . “! message .” ;
wp_mail($to, $subject, $message);
}}
add_action( ‘set_user_role’, ‘user_role_update’, 10, 2);
C'était super utile ! Merci !
Salut,
1. Merci pour l'extrait de code – mais je veux notifier l'utilisateur uniquement lorsque le rôle d'un utilisateur existant est modifié.
Maintenant, le script envoie un e-mail lorsqu'un nouvel utilisateur est ajouté à WP.
2. Il serait plus précis d'envoyer le nom du rôle (maintenant il envoie le slug)
Des idées ?
Merci
Salut, as-tu reçu l'extrait de code ? Si possible, pourrais-tu me partager le lien aussi ? car je rencontre la même erreur de non-envoi d'un e-mail séparé
Salut, merci pour cet extrait de code. Qu'en est-il de l'envoi d'une notification lorsque le rôle est modifié à un nom spécifique ?
Par exemple, je veux envoyer la notification lorsque le rôle de l'utilisateur est modifié à 'group-x'...
Merci et cordialement
M
M'a fait gagner une journée de recherche !! Merci beaucoup.
Une idée pour résoudre cela si vous voulez que l'e-mail soit envoyé uniquement lorsque vous changez leur rôle, et non lorsque vous définissez le rôle ? Avec cet extrait de code, un e-mail sera envoyé lorsque vous ajoutez un nouvel utilisateur. Un e-mail sera également envoyé lorsque vous mettez à jour, par exemple, le prénom d'un utilisateur (sans toucher au rôle).
Vous pourriez essayer d'utiliser get_userdata et vérifier si le rôle actuel de l'utilisateur est différent du nouveau...
Brillant ! Merci !
Merci Raam, je suis content d'apprendre que ça vous plaît.