X

Cum să trimiteți notificări prin e-mail atunci când rolul utilizatorului se schimbă în WordPress

Fragmente de IsItWP

Căutați o modalitate de a trimite notificări prin e-mail utilizatorilor WordPress atunci când rolul lor de utilizator se schimbă? Deși probabil există un plugin pentru asta, am creat un fragment de cod rapid pe care îl puteți folosi pentru a trimite notificări prin e-mail membrilor atunci când rolul lor de utilizator s-a schimbat în WordPress.

Instrucțiuni:

Tot ce trebuie să faceți este să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:

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

Notă: Dacă este prima dată când adăugați secvențe de cod în WordPress, consultați ghidul nostru despre cum să copiați / lipiți corect secvențe de cod în WordPress, pentru a nu vă defecta accidental site-ul.

Dacă ți-a plăcut acest fragment de cod, te rugăm să iei în considerare și celelalte articole de pe site, cum ar fi: Cele mai bune 62 de teme gratuite pentru bloguri WordPress și Cele mai bune 7 pluginuri pentru formulare de contact WordPress.

Comentarii   Lasă un răspuns

  1. cum folosesc etichete HTML aici?
    vreau să fac textul îngroșat
    $message = “Bună ziua ” .$user_info->display_name . ” rolul tău s-a schimbat pe “.$site_url.”, felicitări, acum ești un ” . $new_role;

    1. Ați putea încerca să folosiți acest cod pentru acea linie:

      $message = “Bună ziua ” .$user_info->display_name . ” rolul dvs. s-a schimbat pe “.$site_url.”, felicitări, acum sunteți un ” . $new_role . ““;

  2. Perfect 👍
    Mulțumesc mult 👏

  3. Articolul dvs. m-a ajutat, dar trimite și e-mailuri la înregistrările noi. Vreau să folosesc codul dvs. pentru două roluri pentru care vreau mesaje personalizate. Ar funcționa acest cod pentru asta?

    1. Codul ar trebui modificat pentru a verifica valoarea lui $new_role.

  4. Am folosit acest cod, dar nu am primit niciun e-mail când mi-am schimbat rolul

  5. acesta funcționează și nu trimite e-mail dacă este o înregistrare nouă

    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 = “Contul dvs. a fost validat. Puteți acum începe să cumpărați pe 1223.com”;
    $message = “bun venit ” .$user_info->display_name . “! mesaj .” ;
    wp_mail($to, $subject, $message);
    }}

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

  6. Acest lucru a fost de mare ajutor! Mulțumesc!

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

    Salut,

    1. Mulțumesc pentru fragment – dar vreau să notific utilizatorul doar atunci când rolul unui utilizator existent este modificat.

    Acum scriptul trimite un e-mail atunci când un nou utilizator este adăugat în WP.

    2. Ar fi mai precis să se trimită numele rolului (acum trimite slug-ul)

    Aveți idei?

    Mulțumesc

    1. Salut, ai primit fragmentul? dacă este posibil, poți să-mi împărtășești și mie link-ul? pentru că mă confrunt cu aceeași eroare de a nu trimite un e-mail separat

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

    Salut, mulțumesc pentru acel fragment. Ce zici de trimiterea unei notificări atunci când rolul este schimbat la un anumit nume?

    De exemplu, vreau să trimit notificarea atunci când rolul utilizatorului este schimbat la ‘group-x’…

    Mulțumiri și salutări
    M

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

    Mi-a economisit o zi de cercetare!! Mulțumesc mult.

  10. Aveți idee cum să rezolv asta dacă doriți ca e-mailul să fie trimis doar atunci când le schimbați rolul, nu atunci când setați rolul? Cu acest fragment, un e-mail va fi trimis atunci când adăugați un nou utilizator. Un e-mail va fi trimis și atunci când actualizați, de exemplu, prenumele unui utilizator (fără a atinge rolul).

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

      Ați putea încerca să folosiți get_userdata și să verificați dacă rolul curent al utilizatorului este diferit de cel nou…

  11. Strălucit! Mulțumesc!

    1. Mulțumesc Raam, mă bucur să aud că îți place.

Adaugă un comentariu

Suntem bucuroși că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!