get_page_hierarchy() WP 1.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
Works based on: _page_traverse_name()
1 time = 0.000018s = very fast | 50000 times = 0.18s = very fast | PHP 7.0.8, WP 4.6
No Hooks.
Return
String[]. Array of post names keyed by ID and arranged by hierarchy. Children immediately follow their parents.
Usage
get_page_hierarchy( $pages, $page_id );
- $pages(WP_Post[]) (required) (passed by reference — &)
- Posts array (passed by reference).
- $page_id(int)
- Parent page ID.
Default: 0
Changelog
Since 2.0.0 | Introduced. |
Code of get_page_hierarchy() get page hierarchy WP 5.6
function get_page_hierarchy( &$pages, $page_id = 0 ) {
if ( empty( $pages ) ) {
return array();
}
$children = array();
foreach ( (array) $pages as $p ) {
$parent_id = (int) $p->post_parent;
$children[ $parent_id ][] = $p;
}
$result = array();
_page_traverse_name( $page_id, $children, $result );
return $result;
}Related Functions
From category: Helper Functions
- __return_empty_array()
- __return_empty_string()
- __return_false()
- __return_null()
- __return_true()
- __return_zero()
- build_query()
- get_temp_dir()
- human_readable_duration()
- is_email()
- is_php_version_compatible()
- is_serialized()
- is_serialized_string()
- is_wp_version_compatible()
- map_deep()
- maybe_serialize()
- maybe_unserialize()
- path_join()
- seems_utf8()
- stripslashes_deep()
- timer_stop()
- urlencode_deep()
- wp_array_slice_assoc()
- wp_basename()
- wp_debug_backtrace_summary()
- wp_doing_ajax()
- wp_extract_urls()
- wp_filter_object_list()
- wp_generate_uuid4()
- wp_html_split()
- wp_is_json_request()
- wp_is_numeric_array()
- wp_is_uuid()
- wp_json_encode()
- wp_kses_array_lc()
- wp_kses_hair()
- wp_kses_uri_attributes()
- wp_list_filter()
- wp_list_pluck()
- wp_list_sort()
- wp_make_link_relative()
- wp_mkdir_p()
- wp_normalize_path()
- wp_parse_args()
- wp_parse_id_list()
- wp_parse_list()
- wp_parse_slug_list()
- wp_parse_str()
- wp_parse_url()
- wp_rand()
- wp_reset_vars()
- wp_send_json()
- wp_send_json_error()
- wp_send_json_success()
- wp_slash()
- wp_spaces_regexp()
- wp_sprintf()
- wp_tempnam()
- wp_unslash()
- wp_validate_boolean()