General: Cast `$max_depth` and `$depth` to an integer in the `Walker` class.
This ensures that the arguments are correctly interpreted when passed as a query string, i.e. when `wp_parse_args()` is involved. For example, `wp_list_pages( 'depth=0' )` should display a list of all pages to the maximum depth. Follow-up to [57848]. Props freibergergarcia, peterwilsoncc, ahortin. Fixes #61749. Built from https://develop.svn.wordpress.org/trunk@58812 git-svn-id: http://core.svn.wordpress.org/trunk@58208 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
213355eb80
commit
ee3beccbd1
|
@ -135,6 +135,9 @@ class Walker {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$max_depth = (int) $max_depth;
|
||||||
|
$depth = (int) $depth;
|
||||||
|
|
||||||
$id_field = $this->db_fields['id'];
|
$id_field = $this->db_fields['id'];
|
||||||
$id = $element->$id_field;
|
$id = $element->$id_field;
|
||||||
|
|
||||||
|
@ -191,6 +194,8 @@ class Walker {
|
||||||
public function walk( $elements, $max_depth, ...$args ) {
|
public function walk( $elements, $max_depth, ...$args ) {
|
||||||
$output = '';
|
$output = '';
|
||||||
|
|
||||||
|
$max_depth = (int) $max_depth;
|
||||||
|
|
||||||
// Invalid parameter or nothing to walk.
|
// Invalid parameter or nothing to walk.
|
||||||
if ( $max_depth < -1 || empty( $elements ) ) {
|
if ( $max_depth < -1 || empty( $elements ) ) {
|
||||||
return $output;
|
return $output;
|
||||||
|
@ -285,12 +290,14 @@ class Walker {
|
||||||
* @return string XHTML of the specified page of elements.
|
* @return string XHTML of the specified page of elements.
|
||||||
*/
|
*/
|
||||||
public function paged_walk( $elements, $max_depth, $page_num, $per_page, ...$args ) {
|
public function paged_walk( $elements, $max_depth, $page_num, $per_page, ...$args ) {
|
||||||
if ( empty( $elements ) || $max_depth < -1 ) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
$output = '';
|
$output = '';
|
||||||
|
|
||||||
|
$max_depth = (int) $max_depth;
|
||||||
|
|
||||||
|
if ( empty( $elements ) || $max_depth < -1 ) {
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
$parent_field = $this->db_fields['parent'];
|
$parent_field = $this->db_fields['parent'];
|
||||||
|
|
||||||
$count = -1;
|
$count = -1;
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '6.7-alpha-58811';
|
$wp_version = '6.7-alpha-58812';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue