X

Come inviare notifiche email quando il ruolo utente cambia in WordPress

Snippet di IsItWP

Stai cercando un modo per inviare notifiche email agli utenti di WordPress quando il loro ruolo utente cambia? Sebbene esista probabilmente un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per inviare notifiche email ai membri quando il loro ruolo utente è cambiato in WordPress.

Istruzioni:

Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:

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

Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.

Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: 62 migliori temi gratuiti per blog di WordPress e 7 migliori plugin per moduli di contatto WordPress.

Commenti   Lascia una risposta

  1. come posso usare i tag HTML qui?
    Vorrei rendere il testo in grassetto
    $message = “Ciao ” .$user_info->display_name . ” il tuo ruolo è cambiato su “.$site_url.”, congratulazioni sei ora un ” . $new_role;

    1. Potresti provare a usare questo codice per quella riga:

      $message = “Ciao ” .$user_info->display_name . ” il tuo ruolo è cambiato su “.$site_url.”, congratulazioni sei ora un ” . $new_role . ““;

  2. Perfetto 👍
    Grazie mille 👏

  3. Il tuo articolo mi ha aiutato ma invia email anche alle nuove registrazioni. Voglio usare il tuo codice per due ruoli per i quali voglio messaggi personalizzati. Questo codice funzionerebbe per questo?

    1. Il codice dovrebbe essere modificato per controllare il valore di $new_role.

  4. Ho usato questo codice ma non ho ricevuto nessuna email quando ho cambiato il mio ruolo

  5. questo funziona e non invia email se il nuovo utente si registra

    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 = “Il tuo account è stato validato. Ora puoi iniziare ad acquistare su 1223.com”;
    $message = “benvenuto ” .$user_info->display_name . “! messaggio .” ;
    wp_mail($to, $subject, $message);
    }}

    add_action( ‘set_user_role’, ‘user_role_update’, 10, 2);

  6. È stato super utile! Grazie!

  7. Mariusz Szatkowski 31 ottobre 2013 alle 06:59

    Ciao,

    1. Grazie per lo snippet, ma voglio notificare l'utente solo quando viene modificato il ruolo di un utente esistente.

    Ora lo script invia un'email quando un nuovo utente viene aggiunto a WP.

    2. Sarebbe più accurato inviare il nome del ruolo (ora invia lo slug)

    Qualche idea?

    Grazie

    1. Ciao, hai ricevuto lo snippet? Se possibile, potresti condividermi anche il link? Perché sto riscontrando lo stesso errore di mancato invio di un'email separata.

  8. Mariusz Szatkowski 18 settembre 2013 alle 01:56

    Ciao, grazie per quello snippet. Che ne dici di inviare una notifica quando il ruolo viene modificato in un nome specifico?

    Ad esempio, voglio inviare la notifica quando il ruolo dell'utente viene modificato in 'group-x'...

    Grazie e cordiali saluti
    M

  9. Tiago Dufau de Vargas 6 settembre 2013 alle 15:43

    Mi ha risparmiato un giorno di ricerca!! Grazie mille.

  10. Hai idea di come risolvere questo problema se vuoi che l'email venga inviata solo quando cambi il loro ruolo, non quando imposti il ruolo? Con questo snippet, un'email verrà inviata quando aggiungi un nuovo utente. Un'email verrà anche inviata quando aggiorni, ad esempio, il nome di un utente (senza toccare il ruolo).

    1. Tiago Dufau de Vargas 6 settembre 2013 alle 15:46

      Potresti provare a usare get_userdata e verificare se il ruolo dell'utente corrente è diverso da quello nuovo...

  11. Brillante! Grazie!

    1. Grazie Raam, sono felice di sapere che ti piace.

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!