Used By
Used By | Description |
---|---|
wp-includes/post.php: get_pages() | Retrieve a list of pages (or hierarchical post type items). |
Identify descendants of a given page ID in a list of page objects.
Descendants are identified from the $pages
array passed to the function. No database queries are performed.
(int) (Required) Page ID.
(array) (Required) List of page objects from which descendants should be identified.
(array) List of page children.
This function calls itself recursively.
File: wp-includes/post.php
function get_page_children( $page_id, $pages ) { // Build a hash of ID -> children. $children = array(); foreach ( (array) $pages as $page ) { $children[ intval( $page->post_parent ) ][] = $page; } $page_list = array(); // Start the search by looking at immediate children. if ( isset( $children[ $page_id ] ) ) { // Always start at the end of the stack in order to preserve original `$pages` order. $to_look = array_reverse( $children[ $page_id ] ); while ( $to_look ) { $p = array_pop( $to_look ); $page_list[] = $p; if ( isset( $children[ $p->ID ] ) ) { foreach ( array_reverse( $children[ $p->ID ] ) as $child ) { // Append to the `$to_look` stack to descend the tree. $to_look[] = $child; } } } } return $page_list; }
Version | Description |
---|---|
1.5.1 | Introduced. |
© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/get_page_children