在父母的平面列表中订购带有孩子的页面。

原型

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/