URL ausente no email de redefinição de senha

4

Na página de login do administrador do wp, clico para redefinir minha senha (não sobre o tema, no wp). Eu recebo o e-mail, mas ele não contém URL para clicar. Plugins estão desabilitados. O que devo fazer?

    
por tt24 16.11.2016 / 12:01

2 respostas

2

O problema é o < e > que rodeiam o url de reset em wp-login.php. Você pode removê-los usando retrieve_password_message no arquivo theme.php do tema, como abaixo.

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;

}
    
por Luke Seall 07.11.2017 / 16:03
0

Confira o wp-login.php no GitHub.

Os blocos padrão se parecem com:

// 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";

Você deve ser capaz de filtrar a mensagem de redefinição de senha com 'retrieve_password_message' e mude para o que você precisa.

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