在父母的平面列表中订购带有孩子的页面。
原型
get_page_hierarchy( array $pages, int $page_id )
描述
它使用辅助结构来保持父子关系,并以O(N)复杂度运行
参数
$pages
(array)
(Required)
帖子数组(通过引用传递)。
$page_id
(int)
(Optional)
父页面ID。默认值为0。
返回值
(array)
按层次排列的列表。孩子们会立即跟随父母。
源文件
路径:wp-includes/post.php
<?php
...
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;
}
...
?>
其他
英文文档:https://developer.wordpress.org/reference/functions/get_page_hierarchy/