Reimpostazione Password - Modifica nome e indirizzo email mittente

17 dic 2013, 12:10:54
Visualizzazioni: 16.3K
Voti: 3

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?

0
Tutte le risposte alla domanda 2
0

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
}
17 dic 2013 12:23:53
1

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' ); 
}
2 mar 2016 13:52:27
Commenti

Il modo giusto per farlo.

Armstrongest Armstrongest
10 dic 2018 11:15:02