Email personalizat de admin pentru înregistrarea unui nou utilizator
Am căutat pe web soluția pentru această mică problemă, dar găsesc doar rezultate care îmi arată cum să personalizez conținutul emailului de notificare, nu adresa de email.
Am adresa de email de admin în setările WordPress ca abc@xyz.tld, ceea ce e perfect, dar vreau ca toate înregistrările noilor utilizatori să meargă la o adresă de email diferită.
de exemplu:
Când se înregistrează un utilizator nou, emailul este trimis la def@hij.td
Pentru actualizări de plugin-uri, teme etc., toate emailurile merg DOAR la abc@xyz.tld

Da, puteți schimba adresa de email folosind funcția wp_mail. Puteți verifica cum se face acest lucru aici http://www.butlerblog.com/2011/07/14/changing-the-wp_mail-from-address-with-a-plugin/
Utilizați acest plugin pentru gestionarea utilizatorilor, el suportă adresa de email când un nou utilizator se înregistrează https://wordpress.org/plugins/wp-members/
Folosiți acest cod în fișierul functions.php.
function so174837_registration_email_alert( $user_id ) {
$user = get_userdata( $user_id );
$email = $user->user_email;
$message = $email . ' s-a înregistrat pe site-ul dumneavoastră.';
wp_mail( 'youremail@example.com', 'Înregistrare utilizator nou', $message );
}
add_action('user_register', 'so174837_registration_email_alert');

Bună Krishna,
Mulțumesc pentru răspunsul rapid. Îmi spui să instalez plugin-ul și scriptul tău? Sau în loc de?

Nu am instalat plugin-ul și am folosit doar fragmentul de cod pe care l-ai pus și pare să funcționeze perfect.

ce trebuie să pun în secțiunea strip_tags($_POST['user_login']) ??

Am ajuns la acest post în timp ce făceam o căutare pe Google pentru o anumită întrebare legată de e-mailuri. Amuzant este că răspunsul postat face referire la unul dintre articolele mele de blog și la plugin-ul meu. Este destul de mișto - doar că în acest caz nu cred că răspunde într-adevăr la întrebarea OP.
Întrebarea era că toate notificările către administrator trebuie să meargă la adresa de e-mail specificată, CU EXCEPȚIA uneia - notificarea pentru noul utilizator.
Abordarea mea pentru aceasta (presupunând că procesul este înregistrarea nativă din WP) ar fi să folosesc un filtru pe wp_mail() (care, apropo, are un filtru la sfârșitul întregului proces).
Aș folosi acel filtru pentru a analiza conținutul mesajului și dacă este e-mailul trimis pentru notificarea noului utilizator, atunci aș folosi filtrul pentru a schimba adresa "to".
În acest exemplu, subiectul este examinat pentru a vedea dacă conține 'New User Registration' (Înregistrare utilizator nou), care face parte din linia de subiect din e-mailul implicit de notificare pentru administrator în WP. Dacă este cazul, atunci adresa de e-mail "to" este schimbată la adresa dorită. În alte cazuri, toate celelalte situații trec neatinse prin filtru.
add_filter( 'wp_mail', 'my_wp_mail_filter' );
function my_wp_mail_filter( $args ) {
// Verifică subiectul mesajului pentru un șir cunoscut în e-mailul de notificare.
if ( strpos( $args['subject'], 'New User Registration' ) ) {
// Acesta este e-mailul de notificare, așa că schimbă adresa "to".
$args['to'] = 'def@hij.td';
}
return $args;
}
