it-swarm.com.de

Warum fehlt der Schlüssel zum Zurücksetzen des Passworts in der E-Mail zum Zurücksetzen des Passworts?

Wordpress 3.2.1 - Die URL zum Zurücksetzen des Passworts in der E-Mail, die von http://meinesite.com/wp-login.php?action=lostpassword generiert wurde, enthält keinen gültigen Schlüssel, sodass Benutzer ihr Passwort nicht zurücksetzen können .

Wir haben das Register Plus Redux Plugin installiert, aber das Problem bleibt bestehen, auch wenn ich es deaktiviere. Ist das ein bekanntes Problem?

Wenn Sie auf den Link klicken, wird der Fehler "Dieser Schlüssel scheint nicht gültig zu sein." Der Link sieht so aus:

http://meinesite.com/wp-login.php?action=rp&key=&login=email%40meinesite.com (der Schlüssel ist leer)

2
codecowboy

Der ursprüngliche Entwickler der Site hat den Filter reset_password_message verwendet und entweder falsch ausgeführt oder der Kerncode wurde geändert. Die folgende Funktion funktioniert jetzt:

function reset_password_message( $message, $key ) {

    if ( strpos($_POST['user_login'], '@') ) {
        $user_data = get_user_by('email', trim($_POST['user_login']));
    } else {
        $login = trim($_POST['user_login']);
        $user_data = get_user_by('login', $login);
    }

    $user_login = $user_data->user_login;

    $msg = __('The password for the following account has been requested to be reset:'). "\r\n\r\n";
    $msg .= network_site_url() . "\r\n\r\n";
    $msg .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
    $msg .= __('If this message was sent in error, please ignore this email.') . "\r\n\r\n";
    $msg .= __('To reset your password, visit the following address:');
    $msg .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";

    return $msg;

}

add_filter('retrieve_password_message', reset_password_message, null, 2);
2
codecowboy