Code Modernisation: Introduce the spread operator in `Walker::walk()` and `::paged_walk()`.

Rather than relying on `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable.

This re-applies [45624] and reverts [45640], with a dev note upcoming for plugin authors to maintain backward compatibility with old versions of WordPress.

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


git-svn-id: http://core.svn.wordpress.org/trunk@46240 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2019-10-08 17:56:02 +00:00
parent 477f0ffd71
commit 38a8513cf2
2 changed files with 6 additions and 6 deletions

View File

@ -180,10 +180,10 @@ class Walker {
*
* @param array $elements An array of elements.
* @param int $max_depth The maximum hierarchical depth.
* @param mixed ...$args Optional additional arguments.
* @return string The hierarchical item output.
*/
public function walk( $elements, $max_depth ) {
$args = array_slice( func_get_args(), 2 );
public function walk( $elements, $max_depth, ...$args ) {
$output = '';
//invalid parameter or nothing to walk
@ -274,14 +274,14 @@ class Walker {
* @param int $max_depth The maximum hierarchical depth.
* @param int $page_num The specific page number, beginning with 1.
* @param int $per_page
* @param mixed ...$args Optional additional arguments.
* @return string XHTML of the specified page of elements
*/
public function paged_walk( $elements, $max_depth, $page_num, $per_page ) {
public function paged_walk( $elements, $max_depth, $page_num, $per_page, ...$args ) {
if ( empty( $elements ) || $max_depth < -1 ) {
return '';
}
$args = array_slice( func_get_args(), 4 );
$output = '';
$parent_field = $this->db_fields['parent'];

View File

@ -13,7 +13,7 @@
*
* @global string $wp_version
*/
$wp_version = '5.3-beta2-46441';
$wp_version = '5.3-beta2-46442';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.