From 81ccfa17f61dc943d7c0cc865fb838441d2ee807 Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Mon, 22 Jan 2007 07:05:48 +0000 Subject: [PATCH] Walker fix ups. fixes #3080 git-svn-id: https://develop.svn.wordpress.org/trunk@4779 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/classes.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/wp-includes/classes.php b/wp-includes/classes.php index 47470d3048..931eb4305b 100644 --- a/wp-includes/classes.php +++ b/wp-includes/classes.php @@ -428,14 +428,14 @@ class Walker { if ( !empty($previous_element) && ($element->$parent_field == $previous_element->$id_field) ) { // Previous element is my parent. Descend a level. array_unshift($parents, $previous_element); - $depth++; //always do this so when we start the element further down, we know where we are if ( !$to_depth || ($depth < $to_depth) ) { //only descend if we're below $to_depth - $cb_args = array_merge( array($output, $depth - 1), $args); + $cb_args = array_merge( array($output, $depth), $args); $output = call_user_func_array(array(&$this, 'start_lvl'), $cb_args); - } else { // If we've reached depth, end the previous element. - $cb_args = array_merge( array($output, $previous_element, $depth - 1), $args); + } else if ( $to_depth && $depth == $to_depth ) { // If we've reached depth, end the previous element. + $cb_args = array_merge( array($output, $previous_element, $depth), $args); $output = call_user_func_array(array(&$this, 'end_el'), $cb_args); } + $depth++; //always do this so when we start the element further down, we know where we are } else if ( $element->$parent_field == $previous_element->$parent_field) { // On the same level as previous element. if ( !$to_depth || ($depth <= $to_depth) ) { @@ -452,7 +452,7 @@ class Walker { while ( $parent = array_shift($parents) ) { $depth--; if ( !$to_depth || ($depth < $to_depth) ) { - $cb_args = array_merge( array($output, $depth - 1), $args); + $cb_args = array_merge( array($output, $depth), $args); $output = call_user_func_array(array(&$this, 'end_lvl'), $cb_args); $cb_args = array_merge( array($output, $parent, $depth - 1), $args); $output = call_user_func_array(array(&$this, 'end_el'), $cb_args); @@ -490,7 +490,7 @@ class Walker_Page extends Walker { function start_lvl($output, $depth) { $indent = str_repeat("\t", $depth); - $output .= "$indent