描述:
对一组页面进行排序
用法:
<?php get_page_hierarchy( $posts, $parent ) ?>
参数:
$posts
(array) (必填) Posts数组。
默认值: None
$parent
(integer) (可选) 父级页面ID
默认值: 0
源文件:
/**
* Order the pages with children under parents in a flat list.
*
* It uses auxiliary structure to hold parent-children relationships and
* runs in O(N) complexity
*
* @since 2.0.0
*
* @param array $pages Posts array, passed by reference.
* @param int $page_id Optional. Parent page ID. Default 0.
* @return array A list arranged by hierarchy. Children immediately follow their parents.
*/
function get_page_hierarchy( &$pages, $page_id = 0 ) {
if ( empty( $pages ) ) {
return array();
}
$children = array();
foreach ( (array) $pages as $p ) {
$parent_id = intval( $p->post_parent );
$children[ $parent_id ][] = $p;
}
$result = array();
_page_traverse_name( $page_id, $children, $result );
return $result;
}