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).
While the legacy (old) password reset required both a username and a password, the plugin’s current process only uses a single field in which the user can enter either a username or a password.
In legacy instances, to create a form that only required a username or email address, the wpmem_resetpassword_form_defaults
filter could be used to remove the second field of the form. address.
If you see no fields in the form, then somewhere you have 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 correct it
You need to locate the instance of wpmem_resetpassword_form_defaults
that is removing the field remaining.
There are only two possibilities:
- Either you are using the plugin’s Advanced Options extension with the “Require only email for password reset” turned on;
- Or, 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, 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 have manually applied a custom filter function using one of the following hooks, and you will need to remove that filter from wherever you saved it.
wpmem_reset_password_form_defaults
wpmem_inc_resetpassword_inputs
.