What causes this?
WP-Members has two functions for generating forms – one for “short” forms such as the login, password reset, etc, and one for “long” forms like registration and user profile.
For “short” forms, for each form type (i.e. login, password reset, etc), there is a function that sets up the fields that will be used in the form. In most default cases, this will be two fields (such as username and email).
When the password reset link option is enabled, the `wpmem_resetpassword_form_defaults` filter is used to remove the second field, leaving only a field for username or email address.
If, when the password reset link option is enabled, you see no fields in the form, then you are running an instance of the `wpmem_resetpassword_form_defaults` filter to remove a field, and it is removing the single remaining field (thus leaving you with none).
How to fix it
You need to locate the instance of `wpmem_resetpassword_form_defaults` that is removing the field remaining. There are only two possibilities:
- You are using the plugin’s Advanced Options extension with the “Require only email for password reset” turned on.
- You are manually applying customization using `wpmem_resetpassword_form_defaults` to remove a field from the form.
If you have Advanced Options and the “Require only email for password reset” setting is enabled, then if you want to use the password reset link setting, you need to disable this setting.
If you do not have Advanced Options, or you do but you don’t have the “Require only email for password reset” setting enabled, then you manually applied a custom filter on
wpmem_inc_resetpassword_inputs. You need to remove that filter from wherever you’ve saved it. (Generally, your theme’s functions.php file is where custom filter functions are saved.)