Make WordPress Core


Ignore:
Timestamp:
06/12/2022 11:09:21 AM (2 years ago)
Author:
SergeyBiryukov
Message:

Code Modernization: Pass correct default value to setcookie() in wp_user_settings().

The wp_user_settings() function calls the PHP native setcookie() function, the fifth parameter of which is the optional $domain parameter which expects a string.

A parameter being optional, however, does not automatically make it nullable.

As of PHP 8.1, passing null to a non-nullable PHP native function will generate a deprecation notice.

In this case, this function call yielded a setcookie(): Passing null to parameter #5 ($domain) of type string is deprecated notice.

Changing the null to an empty string fixes this without a backward compatibility break.

References:

Follow-up to [29478].

Props ocean90, shenyanzhi, meysamnorouzi, jrf.
Fixes #54914.

File:
1 edited

Legend:

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

    r53317 r53490  
    11101110    // The cookie is not set in the current browser or the saved value is newer.
    11111111    $secure = ( 'https' === parse_url( admin_url(), PHP_URL_SCHEME ) );
    1112     setcookie( 'wp-settings-' . $user_id, $settings, time() + YEAR_IN_SECONDS, SITECOOKIEPATH, null, $secure );
    1113     setcookie( 'wp-settings-time-' . $user_id, time(), time() + YEAR_IN_SECONDS, SITECOOKIEPATH, null, $secure );
     1112    setcookie( 'wp-settings-' . $user_id, $settings, time() + YEAR_IN_SECONDS, SITECOOKIEPATH, '', $secure );
     1113    setcookie( 'wp-settings-time-' . $user_id, time(), time() + YEAR_IN_SECONDS, SITECOOKIEPATH, '', $secure );
    11141114    $_COOKIE[ 'wp-settings-' . $user_id ] = $settings;
    11151115}
Note: See TracChangeset for help on using the changeset viewer.