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;
|
||||
}
|
||||
|
||||
$max_depth = (int) $max_depth;
|
||||
$depth = (int) $depth;
|
||||
|
||||
$id_field = $this->db_fields['id'];
|
||||
$id = $element->$id_field;
|
||||
|
||||
|
@ -191,6 +194,8 @@ class Walker {
|
|||
public function walk( $elements, $max_depth, ...$args ) {
|
||||
$output = '';
|
||||
|
||||
$max_depth = (int) $max_depth;
|
||||
|
||||
// Invalid parameter or nothing to walk.
|
||||
if ( $max_depth < -1 || empty( $elements ) ) {
|
||||
return $output;
|
||||
|
@ -285,12 +290,14 @@ class Walker {
|
|||
* @return string XHTML of the specified page of elements.
|
||||
*/
|
||||
public function paged_walk( $elements, $max_depth, $page_num, $per_page, ...$args ) {
|
||||
if ( empty( $elements ) || $max_depth < -1 ) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$output = '';
|
||||
|
||||
$max_depth = (int) $max_depth;
|
||||
|
||||
if ( empty( $elements ) || $max_depth < -1 ) {
|
||||
return $output;
|
||||
}
|
||||
|
||||
$parent_field = $this->db_fields['parent'];
|
||||
|
||||
$count = -1;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
*
|
||||
* @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.
|
||||
|
|
Loading…
Reference in New Issue