WordPress – Modificare le e-mail di default per la registrazione di un nuovo utente

Programmazione Wordpress
0

Quando un nuovo utente si iscrive al tuo sito WordPress, viene inviata una notifica e-mail all’ “indirizzo amministratore” specificato in Impostazioni> Generali> Indirizzo e-mail: questo indirizzo e-mail viene utilizzato per TUTTE le notifiche e, sfortunatamente, non puoi impostarne un diverso e-mail solo per la “Registrazione nuovo utente”. Fortunatamente, esiste un modo per mettere a punto le notifiche di “registrazione del nuovo utente” e inviarle a un indirizzo e-mail diverso da “indirizzo e-mail dell’amministratore”. Apri il file functions.php del tuo tema (Aspetto> Editor del tema> Funzioni del tema):

add_filter( 'wp_new_user_notification_email_admin', 'my_wp_new_user_notification_email_admin', 10, 3 );
function my_wp_new_user_notification_email_admin( $notification, $user, $blogname ) {
$notification['to'] = 'john@snow.com';
return $notification;
}

Nell’esempio, abbiamo modificato l’indirizzo di posta elettronica in “john@snow.com”, utilizzando il filtro wp_new_user_notification_email_admin. Ci sono 4 variabili che puoi usare: a, oggetto, messaggio, intestazioni. Utilizziamo le intestazioni per inviare la notifica a “john@snow.com” come CC e mantenere l’email dell’amministratore come destinatario:

add_filter( 'wp_new_user_notification_email_admin', 'my_wp_new_user_notification_email_admin', 10, 3 );
function my_wp_new_user_notification_email_admin( $notification, $user, $blogname ) {
$notification['headers'] = "From: My Blog <my@blog.com> \n\r cc: John Snow <john@snow.com>"
return $notification;
}

WordPress 4.8 e precedenti

Questa soluzione funziona solo per WordPress 4.9. Per le versioni precedenti, il filtro wp_new_user_notification_email_admin non esiste, ma puoi dichiarare nuovamente la funzione principale WP wp_new_user_notification () in quanto è una funzione collegabile.

#  WP_REST_User  plugin

Se utilizzi il plug-in “WP_REST_User” per creare utenti tramite Ajax / REST, tieni presente che non attiva wp_new_user_notification () per impostazione predefinita. Quindi, dovrai aggiungere questo:

add_action('wp_rest_user_user_register', 'my_wp_rest_user_register');
function my_wp_rest_user_register( $user ) {
/** Send "New user registration" email to admin. */
wp_send_new_user_notifications( $user->ID, 'admin' );
}

Cambia admin in entrambi se desideri inviare una notifica anche all’utente.

La notifica dell’utente è diversa da quella dell’amministratore. È possibile ottimizzare la notifica dell’utente utilizzando il filtro wp_new_user_notification_email (stessi 3 argomenti sulla funzione e stessi 4 campi personalizzabili).

Modificare le e-mail (il corpo)

L’e-mail del nuovo utente viene inviata utilizzando la funzione wp_new_user_notification (). Questa funzione è collegabile, il che significa che puoi sovrascriverla:

// Redefine user notification function
if ( !function_exists('wp_new_user_notification') ) {
function wp_new_user_notification( $user_id, $plaintext_pass = '' ) {
$user = new WP_User($user_id);
$user_login = stripslashes($user->user_login);
$user_email = stripslashes($user->user_email);
$message  = sprintf(__('New user registration on your blog %s:'), get_option('blogname')) . "\r\n\r\n";
$message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
$message .= sprintf(__('E-mail: %s'), $user_email) . "\r\n";
@wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);
if ( empty($plaintext_pass) )
return;
$message  = __('Hi there,') . "\r\n\r\n";
$message .= sprintf(__("Welcome to %s! Here's how to log in:"), get_option('blogname')) . "\r\n\r\n";
$message .= wp_login_url() . "\r\n";
$message .= sprintf(__('Username: %s'), $user_login) . "\r\n";
$message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n\r\n";
$message .= sprintf(__('If you have any problems, please contact me at %s.'), get_option('admin_email')) . "\r\n\r\n";
$message .= __('Adios!');
wp_mail($user_email, sprintf(__('[%s] Your username and password'), get_option('blogname')), $message);
}
}

Nota: non è possibile sovrascrivere le funzioni collegabili nel file functions.php del tema. Il file inseribile di WP è già caricato a quel punto, quindi la funzione sarebbe definita da WP (ovvero l’impostazione predefinita). La tua versione personalizzata deve essere caricata prima che ciò accada, il che significa che devi caricarla in un file plug-in personalizzato.

Facebook Comments
0
Summary
Wordpress - Modificare le e-mail di default per la registrazione di un nuovo utente
Article Name
Wordpress - Modificare le e-mail di default per la registrazione di un nuovo utente
Description
Fortunatamente, esiste un modo per mettere a punto le notifiche di "registrazione del nuovo utente" e inviarle a un indirizzo e-mail diverso da "indirizzo e-mail dell'amministratore"
Author
email registrazione wordpress

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Related Posts