Reimpostazione Password - Modifica nome e indirizzo email mittente
Quando viene inviata la reimpostazione della password, il nome mostrato è 'WordPress' e l'indirizzo email è wordpress@domain.com. Devo modificare questi dati con il nome della mia azienda.
Sto utilizzando WordPress 3.8 multisito e ho già effettuato queste operazioni:
- Aggiornato nome e indirizzo email nelle impostazioni generali del sotto-sito
- Installato il plugin 'WP Change Email' e aggiornato i dettagli
Tuttavia, queste modifiche non hanno avuto effetto. Penso che sia perché il sistema di reimpostazione password utilizza hook diversi.
Sto usando il seguente codice (da http://s14.codeinspot.com/q/2472332) nel file functions.php per personalizzare l'oggetto e il corpo dell'email di reimpostazione password:
function my_retrieve_password_subject_filter($old_subject) {
// $old_subject è l'oggetto predefinito creato da WordPress
// (Non sei obbligato ad usarlo)
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
$subject = sprintf( __('[%s] Reimpostazione Password'), $blogname );
// Questo è come WordPress crea l'oggetto. Risulterà così:
// [Blog di Mario] Reimpostazione Password
// Puoi modificarlo secondo le tue esigenze
// Devi restituire il nuovo oggetto:
return $subject;
}
function my_retrieve_password_message_filter($old_message, $key) {
// $old_message è il messaggio predefinito già creato da WordPress
// (Non sei obbligato ad usarlo)
// $key è il token che permette all'utente di ottenere una nuova password
$message = __('Qualcuno ha richiesto la reimpostazione della password per il seguente sito e username.') . "\r\n\r\n";
$message .= network_site_url() . "\r\n\r\n";
$message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
$message .= __('Per reimpostare la password visita il seguente indirizzo, altrimenti ignora semplicemente questa email e non succederà nulla.') . "\r\n\r\n";
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";
// Questo è come WordPress crea il messaggio
// Puoi modificarlo secondo le tue esigenze
// Devi restituire il nuovo messaggio:
return $message;
}
// Per attivare questi filtri:
add_filter ( 'retrieve_password_title', 'my_retrieve_password_subject_filter', 10, 1 );
add_filter ( 'retrieve_password_message', 'my_retrieve_password_message_filter', 10, 2 );
Tuttavia, non so come estendere questo codice per modificare il nome e l'indirizzo email del mittente?
Puoi utilizzare i seguenti due hook per modificare nome e indirizzo email
Utilizza il seguente codice nel file functions.php
del tuo tema attivo.
add_filter( 'wp_mail_from', 'wpse_new_mail_from' );
function wpse_new_mail_from( $old ) {
return 'tuo indirizzo email'; // Modificalo con il tuo indirizzo email
}
add_filter('wp_mail_from_name', 'wpse_new_mail_from_name');
function wpse_new_mail_from_name( $old ) {
return 'tuo nome o il tuo sito web'; // Modificalo con il tuo/nome azienda
}

Utilizza il seguente codice nel file functions.php
del tuo tema attivo. Non è necessario inserire manualmente il tuo indirizzo email e il nome del blog, poiché questi vengono recuperati direttamente dalle impostazioni di WordPress (Impostazioni > Generali).
add_filter( 'wp_mail_from', 'nuovo_mail_from' );
add_filter( 'wp_mail_from_name', 'nuovo_mail_from_name' );
function nuovo_mail_from( $old ) {
return get_option( 'admin_email' );
}
function nuovo_mail_from_name( $old ) {
return get_option( 'blogname' );
}
