WP_Terms_List_Table::_rows()privateWP 1.0

Method of the class: WP_Terms_List_Table{}

No Hooks.

Return

null. Nothing (null).

Usage

// private - for code of main (parent) class only
$result = $this->_rows( $taxonomy, $terms, $children, $start, $per_page, $count, $parent_term, $level );
$taxonomy(string) (required)
-
$terms(array) (required)
-
$children(array) (required) (passed by reference — &)
-
$start(int) (required)
-
$per_page(int) (required)
-
$count(int) (required) (passed by reference — &)
-
$parent_term(int)
-
$level(int)
-

WP_Terms_List_Table::_rows() code WP 6.6.2

private function _rows( $taxonomy, $terms, &$children, $start, $per_page, &$count, $parent_term = 0, $level = 0 ) {

	$end = $start + $per_page;

	foreach ( $terms as $key => $term ) {

		if ( $count >= $end ) {
			break;
		}

		if ( $term->parent !== $parent_term && empty( $_REQUEST['s'] ) ) {
			continue;
		}

		// If the page starts in a subtree, print the parents.
		if ( $count === $start && $term->parent > 0 && empty( $_REQUEST['s'] ) ) {
			$my_parents = array();
			$parent_ids = array();
			$p          = $term->parent;

			while ( $p ) {
				$my_parent    = get_term( $p, $taxonomy );
				$my_parents[] = $my_parent;
				$p            = $my_parent->parent;

				if ( in_array( $p, $parent_ids, true ) ) { // Prevent parent loops.
					break;
				}

				$parent_ids[] = $p;
			}

			unset( $parent_ids );

			$num_parents = count( $my_parents );

			while ( $my_parent = array_pop( $my_parents ) ) {
				echo "\t";
				$this->single_row( $my_parent, $level - $num_parents );
				--$num_parents;
			}
		}

		if ( $count >= $start ) {
			echo "\t";
			$this->single_row( $term, $level );
		}

		++$count;

		unset( $terms[ $key ] );

		if ( isset( $children[ $term->term_id ] ) && empty( $_REQUEST['s'] ) ) {
			$this->_rows( $taxonomy, $terms, $children, $start, $per_page, $count, $term->term_id, $level + 1 );
		}
	}
}