Make arguments to start_el consistent and ensure that page walking is consistent. Fixes #8303 and #8091 props filosofo.

git-svn-id: http://svn.automattic.com/wordpress/trunk@9830 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
westi 2008-11-21 17:17:18 +00:00
parent 297a4a22b4
commit a7258521b1
2 changed files with 4 additions and 4 deletions

View File

@ -822,7 +822,7 @@ class Walker {
$id_field = $this->db_fields['id'];
//display this element
if ( ! empty( $args[0] ) )
if ( is_array( $args[0] ) )
$args[0]['has_children'] = ! empty( $children_elements[$element->$id_field] );
$cb_args = array_merge( array(&$output, $element, $depth), $args);
call_user_func_array(array(&$this, 'start_el'), $cb_args);
@ -1152,7 +1152,7 @@ class Walker_Page extends Walker {
* @param int $current_page Page ID.
* @param array $args
*/
function start_el(&$output, $page, $depth, $current_page, $args) {
function start_el(&$output, $page, $depth, $args, $current_page) {
if ( $depth )
$indent = str_repeat("\t", $depth);
else

View File

@ -687,9 +687,9 @@ function wp_page_menu( $args = array() ) {
* @since 2.1.0
* @see Walker_Page::walk() for parameters and return description.
*/
function walk_page_tree() {
function walk_page_tree($pages, $depth, $current_page, $r) {
$walker = new Walker_Page;
$args = func_get_args();
$args = array($pages, $depth, $r, $current_page);
return call_user_func_array(array(&$walker, 'walk'), $args);
}