Falta la URL en el correo electrónico de restablecimiento de contraseña

4

Desde la página de inicio de sesión del administrador de wp, hago clic para restablecer mi contraseña (no en el tema, en wp). Recibo el correo electrónico pero no contiene ninguna url para hacer clic. Los complementos están deshabilitados. ¿Qué shoud hago?

    
pregunta tt24 16.11.2016 - 12:01

2 respuestas

2

El problema es el < y > que rodea la url de reinicio en wp-login.php. Puedes eliminarlos usando retrieve_password_message en tu archivo de funciones de tema.php como abajo.

add_filter("retrieve_password_message", "mapp_custom_password_reset", 99, 4);

function mapp_custom_password_reset($message, $key, $user_login, $user_data )    {

$message = "Someone has requested a password reset for the following account:

" . sprintf(__('%s'), $user_data->user_email) . "

If this was a mistake, just ignore this email and nothing will happen.

To reset your password, visit the following address:

" . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";


  return $message;

}
    
respondido por el Luke Seall 07.11.2017 - 16:03
0

Consulte el wp-login.php en GitHub.

Los bloques predeterminados se ven así:

// Redefining user_login ensures we return the right case in the email.
$user_login = $user_data->user_login;
$user_email = $user_data->user_email;
$key = get_password_reset_key( $user_data );
if ( is_wp_error( $key ) ) {
    return $key;
}
$message = __('Someone has requested a password reset for the following account:') . "\r\n\r\n";
$message .= network_home_url( '/' ) . "\r\n\r\n";
$message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
$message .= __('If this was a mistake, just ignore this email and nothing will happen.') . "\r\n\r\n";
$message .= __('To reset your password, visit the following address:') . "\r\n\r\n";
$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";

Debería poder filtrar el mensaje de restablecimiento de contraseña con 'retrieve_password_message' y cámbielo a lo que necesite.

$message = apply_filters( 'retrieve_password_message', $message, $key, $user_login, $user_data );
    
respondido por el jgraup 16.11.2016 - 14:43

Lea otras preguntas en las etiquetas