WordPress Version: 4.5
/**
* Traverse and return all the nested children post names of a root page.
*
* $children contains parent-children relations
*
* @since 2.9.0
*
* @see _page_traverse_name()
*
* @param int $page_id Page ID.
* @param array $children Parent-children relations, passed by reference.
* @param array $result Result, passed by reference.
*/
function _page_traverse_name($page_id, &$children, &$result)
{
if (isset($children[$page_id])) {
foreach ((array) $children[$page_id] as $child) {
$result[$child->ID] = $child->post_name;
_page_traverse_name($child->ID, $children, $result);
}
}
}