Tengo esta página creada manualmente:
$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!";
}
... todo parece correcto, pero no funciona cuando se llama desde una aplicación, pero si lo visito manualmente domain.com/forgot-password?user_login=username
, envía el correo electrónico de restablecimiento bien.
app
qué quieres decirplugin
Respuestas:
Entonces, si desea enviar ese enlace de restablecimiento de contraseña y tiene acceso a la base de código, puede usar el siguiente fragmento y puede modificarlo aún más, en realidad ese código es una versión ligeramente modificada de
wp-login.php
fuente
La respuesta anterior no funcionó para mí (dice que el código no es válido, en la página de inicio de sesión de wp), probablemente porque la respuesta tiene 1,5 años y algo ha cambiado en el código WP, por lo que he actualizado este código un poco (también de wp-login.php), aquí está:
fuente
$key
procesamiento y actualizaciónuser_activation_key
.Noté que después de actualizar WordPress a la Versión 4.3, lo anterior ya no funcionaba para mi complemento personalizado. Siempre informaría que la clave no era válida.
Cambio:
a
Esto solucionó el problema para mí, espero que ayude a alguien más
fuente
Ninguna de las respuestas anteriores funcionó para mí, así que busqué en wp-login.php su funcionalidad de restablecimiento predeterminada. Utilizaron la función get_password_reset_key ($ userData). En caso de que alguien se atasque en las respuestas anteriores, esta es mi solución:
fuente
Wordpress 4.3.1
fuente
Prueba esto
en lugar de
Me funcionó (wordpress 4.3.1)
fuente