Resetare Parolă - schimbare nume și adresă email expeditor

17 dec. 2013, 12:10:54
Vizualizări: 16.3K
Voturi: 3

Când se trimite emailul de resetare a parolei, numele afișat este 'WordPress' și adresa de email este wordpress@domain.com. Am nevoie să schimb acestea cu numele companiei.

Rulez WordPress 3.8 multisite și am făcut următoarele:

  • Am actualizat numele și adresa de email în setările generale pentru subsite
  • Am instalat pluginul 'WP Change Email' și am actualizat detaliile

Totuși, acestea nu au niciun efect. Cred că este pentru că partea de resetare a parolei folosește alte hook-uri.

Folosesc următorul cod (de la http://s14.codeinspot.com/q/2472332) în functions.php pentru a personaliza subiectul și conținutul emailului de resetare parolă:

function my_retrieve_password_subject_filter($old_subject) {
    // $old_subject este subiectul implicit creat de WordPress
    // (Nu e obligatoriu să îl folosești)

    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
    $subject = sprintf( __('[%s] Resetare Parolă'), $blogname );
    // Așa WordPress creează subiectul. Arată astfel:
    // [Blogul lui Andrei] Resetare Parolă
    // Poți modifica asta după nevoile tale

    // Trebuie să returnezi noul subiect:
    return $subject;
}

function my_retrieve_password_message_filter($old_message, $key) {
    // $old_message este mesajul implicit creat de WordPress
    // (Nu e obligatoriu să îl folosești)
    // $key este token-ul care permite utilizatorului să obțină
    // o nouă parolă

    $message = __('Cineva a solicitat resetarea parolei pentru următorul site și utilizator.') . "\r\n\r\n";
    $message .= network_site_url() . "\r\n\r\n";
    $message .= sprintf(__('Utilizator: %s'), $user_login) . "\r\n\r\n";
    $message .= __('Pentru a reseta parola, vizitează următoarea adresă, altfel ignoră acest email și nimic nu se va întâmpla.') . "\r\n\r\n";
    $message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";

    // Așa WordPress creează mesajul
    // Poți modifica asta după nevoile tale

    // Trebuie să returnezi noul mesaj:
    return $message;
}

// Pentru a activa aceste filtre:
add_filter ( 'retrieve_password_title', 'my_retrieve_password_subject_filter', 10, 1 );
add_filter ( 'retrieve_password_message', 'my_retrieve_password_message_filter', 10, 2 );

Totuși, nu știu cum să extind acest cod pentru a schimba numele expeditorului și adresa de email?

0
Toate răspunsurile la întrebare 2
0

Puteți utiliza următoarele două hook-uri pentru a schimba numele și adresa de email.

Folosiți următoarele în fișierul functions.php al temei active.

add_filter( 'wp_mail_from', 'wpse_new_mail_from' );     
function wpse_new_mail_from( $old ) {
    return 'adresa ta de email'; // Editează cu adresa ta de email
}

add_filter('wp_mail_from_name', 'wpse_new_mail_from_name');
function wpse_new_mail_from_name( $old ) {
    return 'numele tău sau al site-ului'; // Editează cu numele tău/al companiei
}
17 dec. 2013 12:23:53
1

Folosește următorul cod în fișierul functions.php al temei active. Nu este nevoie să introduci manual adresa de email și numele blogului, acestea vor fi preluate din setările WordPress la Setări > General.

add_filter( 'wp_mail_from', 'new_mail_from' );
add_filter( 'wp_mail_from_name', 'new_mail_from_name' );
function new_mail_from( $old ) {
    return get_option( 'admin_email' );
}
function new_mail_from_name( $old ) {
    return get_option( 'blogname' ); 
}
2 mar. 2016 13:52:27
Comentarii

Modul corect de a face acest lucru.

Armstrongest Armstrongest
10 dec. 2018 11:15:02