Login and Registration: Introduce lostpassword_errors filter in retrieve_password() for errors encountered on a password reset request.

This complements the `registration_errors` filter in `register_new_user()`.

Props wpdo5ea, dilipbheda.
Fixes #49521.

git-svn-id: https://develop.svn.wordpress.org/trunk@48084 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2020-06-18 20:22:16 +00:00
parent d6b5fbf9ba
commit f31a966c9f
2 changed files with 18 additions and 1 deletions

View File

@ -2553,7 +2553,7 @@ function register_new_user( $user_login, $user_email ) {
* Filters the errors encountered when a new user is being registered. * Filters the errors encountered when a new user is being registered.
* *
* The filtered WP_Error object may, for example, contain errors for an invalid * The filtered WP_Error object may, for example, contain errors for an invalid
* or existing username or email address. A WP_Error object should always returned, * or existing username or email address. A WP_Error object should always be returned,
* but may or may not contain errors. * but may or may not contain errors.
* *
* If any errors are present in $errors, this will abort the user's registration. * If any errors are present in $errors, this will abort the user's registration.

View File

@ -382,6 +382,23 @@ function retrieve_password() {
*/ */
do_action( 'lostpassword_post', $errors, $user_data ); do_action( 'lostpassword_post', $errors, $user_data );
/**
* Filters the errors encountered on a password reset request.
*
* The filtered WP_Error object may, for example, contain errors for an invalid
* username or email address. A WP_Error object should always be returned,
* but may or may not contain errors.
*
* If any errors are present in $errors, this will abort the password reset request.
*
* @since 5.5.0
*
* @param WP_Error $errors A WP_Error object containing any errors generated
* by using invalid credentials.
* @param WP_User|false WP_User object if found, false if the user does not exist.
*/
$errors = apply_filters( 'lostpassword_errors', $errors, $user_data );
if ( $errors->has_errors() ) { if ( $errors->has_errors() ) {
return $errors; return $errors;
} }