On this page
WP_Posts_List_Table::_page_rows( array $children_pages, int $count, int $parent_page, int $level, int $pagenum, int $per_page, array $to_display )
This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
Given a top level page ID, display the nested hierarchy of sub-pages together with paging support
Parameters
$children_pagesarray Required$countint Required$parent_pageint Required$levelint Required$pagenumint Required$per_pageint Required$to_displayarray Required-
List of pages to be displayed. Passed by reference.
Source
File: wp-admin/includes/class-wp-posts-list-table.php. View all references
private function _page_rows( &$children_pages, &$count, $parent_page, $level, $pagenum, $per_page, &$to_display ) {
if ( ! isset( $children_pages[ $parent_page ] ) ) {
return;
}
$start = ( $pagenum - 1 ) * $per_page;
$end = $start + $per_page;
foreach ( $children_pages[ $parent_page ] as $page ) {
if ( $count >= $end ) {
break;
}
// If the page starts in a subtree, print the parents.
if ( $count === $start && $page->post_parent > 0 ) {
$my_parents = array();
$my_parent = $page->post_parent;
while ( $my_parent ) {
// Get the ID from the list or the attribute if my_parent is an object.
$parent_id = $my_parent;
if ( is_object( $my_parent ) ) {
$parent_id = $my_parent->ID;
}
$my_parent = get_post( $parent_id );
$my_parents[] = $my_parent;
if ( ! $my_parent->post_parent ) {
break;
}
$my_parent = $my_parent->post_parent;
}
$num_parents = count( $my_parents );
while ( $my_parent = array_pop( $my_parents ) ) {
$to_display[ $my_parent->ID ] = $level - $num_parents;
$num_parents--;
}
}
if ( $count >= $start ) {
$to_display[ $page->ID ] = $level;
}
$count++;
$this->_page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page, $to_display );
}
unset( $children_pages[ $parent_page ] ); // Required in order to keep track of orphans.
}
Related
Uses
| Uses | Description |
|---|---|
| WP_Posts_List_Table::_page_rows() wp-admin/includes/class-wp-posts-list-table.php | Given a top level page ID, display the nested hierarchy of sub-pages together with paging support |
| get_post() wp-includes/post.php | Retrieves post data given a post ID or post object. |
Used By
| Used By | Description |
|---|---|
| WP_Posts_List_Table::_display_rows_hierarchical() wp-admin/includes/class-wp-posts-list-table.php | |
| WP_Posts_List_Table::_page_rows() wp-admin/includes/class-wp-posts-list-table.php | Given a top level page ID, display the nested hierarchy of sub-pages together with paging support |
Changelog
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_posts_list_table/_page_rows