I’ve been struggling searching through a bunch of tutorials with no luck. I have a custom login page and am just replacing the login form with the forgot password form on click. My issue is how to get the form to send the user a reset password link if the correct username or email is entered and return an error if not. I’m trying to do this from a plugin I’m making to handle the login. Here’s my simple form. How do I make this work?
<form id="wp_pass_reset" action="" method="post">
<input type="text" id="email-field" name="user_input" value="Username or Email" /><br />
<input type="submit" id="submitbtn" name="submit" value="Reset" />
</form>
In your plugin you would first set the redirect URL either to nothing:
$redirect='';
or the fully qualified URL of the page you want your user to land on after successfully changing their password. For http://example.com/mypage/ you would use:$redirect=site_url( '/mypage/ ' );
Then your form would be:
Note: This code is untested. Let me know what happens in the comments if something doesn’t work.
Update
As noted in the comments, if you have a filter on login_url
wp_lostpassword_url()
will point to your custom page. To temporarily restore the default login_url, remove the filter right before the form code:and add it back right after the form code: