Resetare Parolă - schimbare nume și adresă email expeditor
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?
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
}

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' );
}
