X

Comment envoyer une notification par e-mail lorsque le rôle d'un utilisateur change dans WordPress

Extraits par IsItWP

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.

Commentaires   Laisser une réponse

  1. 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;

    1. 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 . ““;

  2. Parfait 👍
    Merci beaucoup 👏

  3. 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 ?

    1. Le code devrait être modifié pour vérifier la valeur de $new_role.

  4. J'ai utilisé ce code mais aucun e-mail n'a été reçu lorsque j'ai changé mon rôle

    1. Vous voudrez peut-être consulter : https://www.isitwp.com/set-configure-smtp-wordpress/

  5. 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);

  6. C'était super utile ! Merci !

  7. Mariusz Szatkowski October 31, 2013 at 6:59 am

    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

    1. 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é

  8. Mariusz Szatkowski September 18, 2013 at 1:56 am

    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

  9. Tiago Dufau de Vargas September 6, 2013 at 3:43 pm

    M'a fait gagner une journée de recherche !! Merci beaucoup.

  10. 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).

    1. Tiago Dufau de Vargas September 6, 2013 at 3:46 pm

      Vous pourriez essayer d'utiliser get_userdata et vérifier si le rôle actuel de l'utilisateur est différent du nouveau...

  11. Brillant ! Merci !

    1. Merci Raam, je suis content d'apprendre que ça vous plaît.

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !