WmVPmV 0Eި V"mVNmV!!C!!C1@.mVPmVpHP5ި V>1C<1Cq `mV ;~C0Չ V@mVmV1[mVemVXACทmVRmVPa=C@Z=C Y=C R=CX=C0R=Cb=C`V=Cb=CPR=CPZ=C e=CpR=C`R=CX=CPT=CV=CS=CQ=CS=Ce=CR=C@^ VSmV]mV 0儨 V"mVQmV!!C!!C1dmVSmVPՄ V>1C<1C]mVmVTmV]mV ;~C0 VmV@.mV1p-mVWmV @CทmVVmVt=Cm=Cl=Cf=C@t=Cf=Cp=Cf=Cm=Cu=C f=Ck=C i=Cj=Ch=Ce=Cg=Cu=Cpf=C@ VWmV@.mV 0u V"mVUmV!!C!!C1`mVWmVP% V>1C<1C6mVmV0 V mVໝmV.1.1mVZmV;@CทmVYmV=C@=C=Cp=CP=C0=C=CP=C`=C=C=C=C@=Cp=CP=C=C=C=C@Eb V`mVmV 0e V"mVXmV!!C!!C1PmVZmVWPe V>1C<1Ca.PסmV ;~C0 VmV mV.1.10_mVemVACทmV\mV=C@=C=Cp=C`=C0=C=CP=C`=C=C=C=C=C@=Cp=CP=C=C=C=C@\ V]mV`mV 0帨 V"mV[mV!!C!!C1RmV]mVPո V>1C<1CmVmV^mVamV ;~C05 V mV mV1`mVemVV@CทmV`mVІ=C@=C@=Cv=C@~=Cv=C=C =C) : 0; $pagenum = \max( 1, $pagenum ); /* * Arrange pages into two parts: top level pages and children_pages * children_pages is two dimensional array, eg. * children_pages[10][] contains all sub-pages whose parent is 10. * It only takes O( N ) to arrange this and it takes O( 1 ) for subsequent lookup operations * If searching, ignore hierarchy and treat everything as top level */ if ( empty( $_REQUEST['s'] ) ) { $top_level_pages = []; $children_pages = []; $pages_map = []; foreach ( $pages as $page ) { // Catch and repair bad pages. if ( $page->post_parent === $page->ID ) { $page->post_parent = 0; } if ( $page->post_parent === 0 ) { $top_level_pages[] = $page; } else { $children_pages[ $page->post_parent ][] = $page; } $pages_map[ $page->ID ] = $page; } $pages = $top_level_pages; } $count = 0; $start = ( ( $pagenum - 1 ) * $per_page ); $end = ( $start + $per_page ); $to_display = []; foreach ( $pages as $page ) { if ( $count >= $end ) { break; } if ( $count >= $start ) { $to_display[] = $page->ID; } ++$count; $this->get_child_page_ids( $children_pages, $count, $page->ID, $start, $end, $to_display, $pages_map ); } // If it is the last pagenum and there are orphaned pages, display them with paging as well. if ( isset( $children_pages ) && $count < $end ) { foreach ( $children_pages as $orphans ) { foreach ( $orphans as $op ) { if ( $count >= $end ) { break; } if ( $count >= $start ) { $to_display[] = $op->ID; } ++$count; } } } return $to_display; } /** * Adds all child pages due to be shown on the current page to the $to_display array. * Copied over with some changes from WP_Posts_List_Table::_page_rows. * * @param array $children_pages The full map of child pages. * @param int $count The number of pages already processed. * @param int $parent_id The id of the parent that's currently being processed. * @param int $start The number at which the current overview starts. * @param int $end The number at which the current overview ends. * @param int $to_display The page IDs to be shown. * @param int $pages_map A map of page ID to an object with ID and post_parent. * * @return void */ private function get_child_page_ids( &$children_pages, &$count, $parent_id, $start, $end, &$to_display, &$pages_map ) { if ( ! isset( $children_pages[ $parent_id ] ) ) { return; } foreach ( $children_pages[ $parent_id ] 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 = []; $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 = $pages_map[ $parent_id ]; $my_parents[] = $my_parent; if ( ! $my_parent->post_parent ) { break; } $my_parent = $my_parent->post_parent; } while ( $my_parent = \array_pop( $my_parents ) ) { $to_display[] = $my_parent->ID; } } if ( $count >= $start ) { $to_display[] = $page->ID; } ++$count; $this->get_child_page_ids( $children_pages, $count, $page->ID, $start, $end, $to_display, $pages_map ); } unset( $children_pages[ $parent_id ] ); // Required in order to keep track of orphans. } } Seite wurde nicht gefunden. - OnlineKladionice.com