Restablecer contraseña - Cambiar nombre y dirección de correo electrónico del remitente

17 dic 2013, 12:10:54
Vistas: 16.3K
Votos: 3

Cuando se envía el restablecimiento de contraseña, el nombre que aparece es 'WordPress' y la dirección de correo es wordpress@domain.com. Necesito cambiarlos por el nombre de la empresa.

Estoy ejecutando WordPress 3.8 multisite y he realizado lo siguiente:

  • Actualicé el nombre y la dirección de correo electrónico en la configuración general del subsitio
  • Instalé el plugin 'WP Change Email' y actualicé los datos

Sin embargo, esto no tiene efecto. Creo que es porque el restablecimiento de contraseña utiliza diferentes hooks.

Estoy usando el siguiente código (de http://s14.codeinspot.com/q/2472332) en functions.php para personalizar el asunto y el cuerpo del restablecimiento de contraseña:

function my_retrieve_password_subject_filter($old_subject) {
    // $old_subject es el asunto predeterminado creado por WordPress.
    // (No tienes que usarlo)

    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
    $subject = sprintf( __('[%s] Restablecimiento de contraseña'), $blogname );
    // Así es como WordPress crea la línea de asunto. Se ve así:
    // [Blog de Juan] Restablecimiento de contraseña
    // Puedes cambiar esto según tus necesidades.

    // Debes devolver tu nueva línea de asunto:
    return $subject;
}

function my_retrieve_password_message_filter($old_message, $key) {
    // $old_message es el mensaje predeterminado ya creado por WordPress.
    // (No tienes que usarlo)
    // $key es el token que permite al usuario obtener 
    // una nueva contraseña

    $message = __('Alguien ha solicitado restablecer la contraseña para el siguiente sitio y nombre de usuario.') . "\r\n\r\n";
    $message .= network_site_url() . "\r\n\r\n";
    $message .= sprintf(__('Nombre de usuario: %s'), $user_login) . "\r\n\r\n";
    $message .= __('Para restablecer tu contraseña visita la siguiente dirección, de lo contrario ignora este correo y no pasará nada.') . "\r\n\r\n";
    $message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";

    // Así es como WordPress crea el mensaje.
    // Puedes cambiarlo para satisfacer tus necesidades.

    // Debes devolver tu nuevo mensaje:
    return $message;
}

// Para activar estos filtros:
add_filter ( 'retrieve_password_title', 'my_retrieve_password_subject_filter', 10, 1 );
add_filter ( 'retrieve_password_message', 'my_retrieve_password_message_filter', 10, 2 );

Sin embargo, no sé cómo extender esto para cambiar el nombre y dirección de correo electrónico del remitente.

0
Todas las respuestas a la pregunta 2
0

Puedes usar los siguientes dos hooks para cambiar el nombre y la dirección de correo electrónico

Utiliza lo siguiente en el archivo functions.php de tu tema activo.

add_filter( 'wp_mail_from', 'wpse_new_mail_from' );     
function wpse_new_mail_from( $old ) {
    return 'tu dirección de correo electrónico'; // Edítalo con tu dirección de correo
}

add_filter('wp_mail_from_name', 'wpse_new_mail_from_name');
function wpse_new_mail_from_name( $old ) {
    return 'tu nombre o el de tu sitio web'; // Edítalo con tu nombre o el de tu empresa
}
17 dic 2013 12:23:53
1

Usa el siguiente código en el archivo functions.php de tu tema activo. No es necesario codificar manualmente tu dirección de correo electrónico y el nombre del blog, ya que obtiene ambos valores de la configuración de WordPress en Ajustes > Generales.

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
Comentarios

La manera correcta de hacerlo.

Armstrongest Armstrongest
10 dic 2018 11:15:02