Inviare email notifica cambio ruolo utente WordPress

Tempo di lettura: 2 minuti

A quanti di voi è mai capitato di cambiare il ruolo dei singoli utenti in WordPress?

L’altro giorno mi sono imbattuto in questa pratica, ma avevo delle esigenze particolari. Mi serviva che, nel momento in cui veniva cambiato il ruolo dell’utente, fosse avvisato tramite email di questo cambio.

inviare-email-cambio-ruolo-utente-wordpress

Per fare ciò possiamo utilizzare queste 2 varianti di codice.

La prima permette di inviare la mail senza nessuna condizione.

Ciò vuol dire che l’utente, che sia sottoscrittore, collaboratore, autore, editore, amministratore verrà avvisato ogni volta che cambierete il suo stato.

Inserite questo codice all’interno del file functions.php:

// SERVE PER INVIARE LA MAIL ALL'UTENTE QUANDO LO STATO VIENE CAMBIATO 
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 = "Account attivato con con successo";
    $message = "Ciao " . $user_info->display_name . " Il tuo ruolo è stato cambiato su " . $site_url . ", complimenti ora sei " . $new_role; //POTETE CAMBIARE LE PAROLE IN BASE A COME VOLETE LA FRASE
    wp_mail($to, $subject, $message);
}

add_action(set_user_role, user_role_update, 10, 2);

Nel caso invece volessimo mandare la mail solo a certi ruoli non vi basta che fare cosi; Inserite questo codice all’interno del file functions.php:

// SERVE PER INVIARE LA MAIL ALL'UTENTE QUANDO LO STATO VIENE CAMBIATO 
        function user_role_update($user_id, $new_role) {
        //INSERITE IL RUOLO DELL UTENTE DESIDERATO
if ($new_role == customer) {
            $site_url = get_bloginfo(wpurl);
            $user_info = get_userdata($user_id);
    
                $to = $user_info->user_email;
                $subject = "Account attivato con con successo";
                $message = "Ciao " .$user_info->display_name . " Il tuo ruolo è stato cambiato su ".$site_url.", complimenti ora sei " . $new_role; //POTETE CAMBIARE LE PAROLE IN BASE A COME VOLETE LA FRASE
                wp_mail($to, $subject, $message);
            }
}

add_action( set_user_role, user_role_update, 10, 2);

Nel caso vogliate inserire nella condizione un ruolo diverso ecco la lista:

if ($new_role == administrator) //per amministratore
if ($new_role == contributor) //per collaboratore
if ($new_role == subscriber) //per sottoscrittore
if ($new_role == author) //per autore
if ($new_role == editor) //per editore

Qualche dubbio o suggerimento? Alla prossima

Lascia un commento