walk_page_tree

The timeline below displays how wordpress function walk_page_tree has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

//
// Page helpers.
//
/**
 * Retrieves HTML list content for page list.
 *
 * @uses Walker_Page to create HTML list content.
 * @since 2.1.0
 *
 * @param array $pages
 * @param int   $depth
 * @param int   $current_page
 * @param array $args
 * @return string
 */
function walk_page_tree($pages, $depth, $current_page, $args)
{
    if (empty($args['walker'])) {
        $walker = new Walker_Page();
    } else {
        /**
         * @var Walker $walker
         */
        $walker = $args['walker'];
    }
    foreach ((array) $pages as $page) {
        if ($page->post_parent) {
            $args['pages_with_children'][$page->post_parent] = true;
        }
    }
    return $walker->walk($pages, $depth, $args, $current_page);
}

WordPress Version: 5.5

//
// Page helpers.
//
/**
 * Retrieve HTML list content for page list.
 *
 * @uses Walker_Page to create HTML list content.
 * @since 2.1.0
 *
 * @param array $pages
 * @param int   $depth
 * @param int   $current_page
 * @param array $r
 * @return string
 */
function walk_page_tree($pages, $depth, $current_page, $r)
{
    if (empty($r['walker'])) {
        $walker = new Walker_Page();
    } else {
        /**
         * @var Walker $walker
         */
        $walker = $r['walker'];
    }
    foreach ((array) $pages as $page) {
        if ($page->post_parent) {
            $r['pages_with_children'][$page->post_parent] = true;
        }
    }
    return $walker->walk($pages, $depth, $r, $current_page);
}

WordPress Version: 5.4

//
// Page helpers.
//
/**
 * Retrieve HTML list content for page list.
 *
 * @uses Walker_Page to create HTML list content.
 * @since 2.1.0
 *
 * @param array $pages
 * @param int   $depth
 * @param int   $current_page
 * @param array $r
 * @return string
 */
function walk_page_tree($pages, $depth, $current_page, $r)
{
    if (empty($r['walker'])) {
        $walker = new Walker_Page();
    } else {
        $walker = $r['walker'];
    }
    foreach ((array) $pages as $page) {
        if ($page->post_parent) {
            $r['pages_with_children'][$page->post_parent] = true;
        }
    }
    return $walker->walk($pages, $depth, $r, $current_page);
}

WordPress Version: 5.3

//
// Page helpers
//
/**
 * Retrieve HTML list content for page list.
 *
 * @uses Walker_Page to create HTML list content.
 * @since 2.1.0
 *
 * @param array $pages
 * @param int   $depth
 * @param int   $current_page
 * @param array $r
 * @return string
 */
function walk_page_tree($pages, $depth, $current_page, $r)
{
    if (empty($r['walker'])) {
        $walker = new Walker_Page();
    } else {
        $walker = $r['walker'];
    }
    foreach ((array) $pages as $page) {
        if ($page->post_parent) {
            $r['pages_with_children'][$page->post_parent] = true;
        }
    }
    return $walker->walk($pages, $depth, $r, $current_page);
}

WordPress Version: 4.3

//
// Page helpers
//
/**
 * Retrieve HTML list content for page list.
 *
 * @uses Walker_Page to create HTML list content.
 * @since 2.1.0
 *
 * @param array $pages
 * @param int   $depth
 * @param int   $current_page
 * @param array $r
 * @return string
 */
function walk_page_tree($pages, $depth, $current_page, $r)
{
    if (empty($r['walker'])) {
        $walker = new Walker_Page();
    } else {
        $walker = $r['walker'];
    }
    foreach ((array) $pages as $page) {
        if ($page->post_parent) {
            $r['pages_with_children'][$page->post_parent] = true;
        }
    }
    $args = array($pages, $depth, $r, $current_page);
    return call_user_func_array(array($walker, 'walk'), $args);
}

WordPress Version: 3.7

//
// Page helpers
//
/**
 * Retrieve HTML list content for page list.
 *
 * @uses Walker_Page to create HTML list content.
 * @since 2.1.0
 * @see Walker_Page::walk() for parameters and return description.
 */
function walk_page_tree($pages, $depth, $current_page, $r)
{
    if (empty($r['walker'])) {
        $walker = new Walker_Page();
    } else {
        $walker = $r['walker'];
    }
    foreach ((array) $pages as $page) {
        if ($page->post_parent) {
            $r['pages_with_children'][$page->post_parent] = true;
        }
    }
    $args = array($pages, $depth, $r, $current_page);
    return call_user_func_array(array($walker, 'walk'), $args);
}