Make WordPress Core

Changeset 59312


Ignore:
Timestamp:
10/28/2024 08:03:13 PM (3 months ago)
Author:
SergeyBiryukov
Message:

Users: Set correct default value for $user_login in retrieve_password().

This resolves a "passing null to non-nullable" deprecation notice on PHP 8.1+:

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated

Follow-up to [50129], [54477].

Props afragen, peterwilsoncc, SergeyBiryukov.
Fixes #62298.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/user.php

    r59232 r59312  
    31073107 * @return true|WP_Error True when finished, WP_Error object on error.
    31083108 */
    3109 function retrieve_password( $user_login = null ) {
     3109function retrieve_password( $user_login = '' ) {
    31103110    $errors    = new WP_Error();
    31113111    $user_data = false;
  • trunk/tests/phpunit/tests/user/retrievePassword.php

    r56559 r59312  
    7575        $this->assertTrue( retrieve_password( 'bar@example.com' ), 'Fetching user by email failed.' );
    7676    }
     77
     78    /**
     79     * Tests that PHP 8.1 "passing null to non-nullable" deprecation notice
     80     * is not thrown when the `$user_login` parameter is empty.
     81     *
     82     * The notice that we should not see:
     83     * `Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated`.
     84     *
     85     * @ticket 62298
     86     */
     87    public function test_retrieve_password_does_not_throw_deprecation_notice_with_default_parameters() {
     88        $this->assertWPError( retrieve_password() );
     89    }
    7790}
Note: See TracChangeset for help on using the changeset viewer.