Ich habe diese manuell erstellte Seite:
$user_login = sanitize_text_field( $_GET['user_login'] );
if ( username_exists( $user_login ) || email_exists($user_login) ) { ?>
<!--Everything has been validated, proceed ....-->
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
function submit()
{
var f = document.getElementById('lostpasswordform');
f.onclick = function () { };
document.lostpasswordform.submit();
}
</script>
</head>
<body onload="submit()">
<form name="lostpasswordform" id="lostpasswordform" action="<?php echo esc_url( site_url( 'wp-login.php?action=lostpassword', 'login_post' ) ); ?>" method="post">
<input type="hidden" name="user_login" id="user_login" class="input" value="<?php echo ($user_login); ?>" />
<?php do_action('lost_password'); ?>
</form>
</body>
</html>
<?php
echo "SUCCESS";
exit();
} else {
echo "Entered Username or Email was incorrect, please try again!";
}
... alles scheint in Ordnung zu sein, aber es funktioniert nicht, wenn es von einer App aus aufgerufen wird domain.com/forgot-password?user_login=username
.
app
meinst duplugin
Antworten:
Wenn Sie also den Link zum Zurücksetzen des Kennworts senden möchten und Zugriff auf die Codebasis haben, können Sie das folgende Snippet verwenden und es weiter modifizieren. Tatsächlich handelt es sich bei diesem Code um eine geringfügig modifizierte Version von
wp-login.php
quelle
Die vorherige Antwort hat bei mir nicht funktioniert (sagt, dass der Code auf der WP-Anmeldeseite ungültig ist), wahrscheinlich, weil die Antwort 1,5 Jahre alt ist und etwas im WP-Code geändert wurde wp-login.php), hier ist es:
quelle
$key
Verarbeitung und Aktualisierunguser_activation_key
.Nach dem Upgrade von WordPress auf Version 4.3 ist mir aufgefallen, dass das obige Plugin nicht mehr für mein benutzerdefiniertes Plugin funktioniert. Es wird immer gemeldet, dass der Schlüssel ungültig ist.
Veränderung:
zu
Dies hat das Problem für mich behoben, hoffe es hilft jemand anderem
quelle
Keine der obigen Antworten hat bei mir funktioniert, daher habe ich in wp-login.php nach ihrer Standard-Reset-Funktionalität gesucht. Sie verwendeten die Funktion get_password_reset_key ($ userData). Für den Fall, dass jemand die obigen Antworten durchgreift, ist hier meine Lösung:
quelle
Wordpress 4.3.1
quelle
Versuche dies
anstatt
Es hat mir geholfen (WordPress 4.3.1)
quelle