NOTE: if you are using version 2.9+, there is a new set of code snippets using some new filter hooks that make this process easier.
One of the requests I get most often is how can I change the plugin to have the password reset only require the user to give their email address. This especially comes up when people customize the process to use the person’s email address as their username, since a password reset form with “username” and “email” doesn’t make much sense in that situation.
Well, since version 2.8.5, there has been a filter hook in the password reset process that allows you to filter the arguments that are passed in order to reset the user’s password – wpmem_pwdreset_args. There are two stages to this demonstration, and thus two parts of the code snippet. First, we only need a form requesting the user’s email, so we will remove the “username” field from the form. Second is filtering the arguments of the password reset process so that the user’s password can be reset with only the email provided.