Users: Show "Password reset link sent" message only when finished.

When an admin sends a password reset link to a user (from the Users UI screen), the "finished" UI message:

>Password reset link sent.

is displayed on "finished" and no longer displayed on error.

**What is the change?**

Previously, the conditional (for incrementing the reset counter) checked for a truthy return from `retrieve_password()`. But `retrieve_password()` always returns a truthy state: `true` (meaning "finished") or an instance of `WP_Error`. Thus, checking for a truthy meant the "finished" message was sent on both "finished" and error/failed.

This fix checks for `retrieve_password()` returning `true` to indicate "finished".

**What is displayed on error?**

If `retrieve_password()` returns an instance of `WP_Error`, the following UI message is shown:

>Password reset links sent to 0 users.

The UI messages were not modified by this changeset.

Follow-up to [50129].

Props letraceursnork, prashantbhivsane, audrasjb, costdev, dilipbheda, hareesh-pillai, hellofromTonya, ironprogrammer, huzaifaalmesbah, marybaum, nicolefurlan, oglekler, petitphp, SergeyBiryukov.
Fixes #58407.
Built from https://develop.svn.wordpress.org/trunk@56937


git-svn-id: http://core.svn.wordpress.org/trunk@56448 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
hellofromTonya 2023-10-15 14:04:23 +00:00
parent d80a03fa4f
commit 23ac8fbfe6
2 changed files with 2 additions and 2 deletions

View File

@ -256,7 +256,7 @@ switch ( $wp_list_table->current_action() ) {
// Send the password reset link.
$user = get_userdata( $id );
if ( retrieve_password( $user->user_login ) ) {
if ( true === retrieve_password( $user->user_login ) ) {
++$reset_count;
}
}

View File

@ -16,7 +16,7 @@
*
* @global string $wp_version
*/
$wp_version = '6.4-beta4-56936';
$wp_version = '6.4-beta4-56937';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.