WP_Posts_List_Table::_page_rows
Displays the nested hierarchy of sub-pages together with paging support, based on a top level page ID.
Метод класса: WP_Posts_List_Table{}
Хуков нет.
Возвращает
null. Ничего (null).
Использование
// private - только в коде основоного (родительского) класса $result = $this->_page_rows( $children_pages, $count, $parent_page, $level, $pagenum, $per_page, $to_display );
- $children_pages(массив) (обязательный) (передается по ссылке — &)
- .
- $count(int) (обязательный) (передается по ссылке — &)
- .
- $parent_page(int) (обязательный)
- .
- $level(int) (обязательный)
- .
- $pagenum(int) (обязательный)
- .
- $per_page(int) (обязательный)
- .
- $to_display(массив) (обязательный) (передается по ссылке — &)
- List of pages to be displayed. Passed by reference.
Список изменений
| С версии 3.1.0 | Введена. |
| С версии 3.1.0 | (Standalone function exists since 2.6.0) |
| С версии 4.2.0 | Added the $to_display parameter. |
Код WP_Posts_List_Table::_page_rows() WP Posts List Table:: page rows WP 6.9
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.
}