Code Modernization: Pass correct default value to `http_build_query()` in `WP_Sitemaps_Provider::get_sitemap_url()`.

The `WP_Sitemaps_Provider::get_sitemap_url()` method calls the PHP native `http_build_query()` function, the second parameter of which is the ''optional'' `$numeric_prefix` 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 `http_build_query(): Passing null to parameter #2 ($numeric_prefix) of type string is deprecated` notice.

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

This change is already covered by tests as 14 of the existing tests failed on these function calls when running the tests on PHP 8.1.

References:
* [https://www.php.net/manual/en/function.http-build-query.php PHP Manual: http_build_query()]
* [https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg PHP RFC: Deprecate passing null to non-nullable arguments of internal functions]

Follow-up to [48470].

Props jrf.
See #53635.
Built from https://develop.svn.wordpress.org/trunk@51652


git-svn-id: http://core.svn.wordpress.org/trunk@51258 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2021-08-23 11:44:01 +00:00
parent cdf31027d6
commit e53ffbaf95
2 changed files with 2 additions and 2 deletions

View File

@ -160,7 +160,7 @@ abstract class WP_Sitemaps_Provider {
);
if ( ! $wp_rewrite->using_permalinks() ) {
$basename = '/?' . http_build_query( $params, null, '&' );
$basename = '/?' . http_build_query( $params, '', '&' );
}
return home_url( $basename );

View File

@ -13,7 +13,7 @@
*
* @global string $wp_version
*/
$wp_version = '5.9-alpha-51651';
$wp_version = '5.9-alpha-51652';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.