Make WordPress Core

Changeset 59312


Ignore:
Timestamp:
10/28/2024 08:03:13 PM (23 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.