J'ai cette page créée manuellement:
$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!";
}
... tout semble correct, mais cela ne fonctionne pas lorsqu'il est appelé depuis une application, mais si je visite manuellement, domain.com/forgot-password?user_login=username
le courrier électronique du passe de réinitialisation sera envoyé correctement.
app
voulez-vous direplugin
Réponses:
Donc, si vous voulez envoyer ce lien de réinitialisation du mot de passe et que vous avez accès à la base de code, vous pouvez utiliser l'extrait de code suivant et le modifier davantage. En fait, ce code est une version légèrement modifiée de
wp-login.php
la source
La réponse précédente ne fonctionnait pas pour moi (dit que le code n'est pas valide, sur la page de connexion wp), probablement parce que la réponse a 1,5 ans et que quelque chose a changé dans le code WP, j'ai donc mis à jour ce code un peu (également de wp-login.php), la voici:
la source
$key
traitement et la mise à jouruser_activation_key
.J'ai remarqué qu'après la mise à niveau de WordPress vers la version 4.3, ce qui précède ne fonctionnait plus pour mon plugin personnalisé. Il serait toujours signalé que la clé était invalide.
Changement:
à
Cela corrige le problème pour moi, j'espère que cela aidera quelqu'un d'autre
la source
Aucune des réponses ci-dessus ne fonctionnant pour moi, j'ai donc cherché dans wp-login.php la fonctionnalité de réinitialisation par défaut. Ils ont utilisé la fonction get_password_reset_key ($ userData). Dans le cas où quelqu'un coincé sur les réponses ci-dessus, voici ma solution: -
la source
Wordpress 4.3.1
la source
Essaye ça
au lieu de
Cela m'a fonctionné (wordpress 4.3.1)
la source