WP_Terms_List_Table::_rows( string $taxonomy, array $terms, array $children, int $start, int $per_page, int $count, int $parent_term, int $level )

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.

Parameters

$taxonomy string Required
$terms array Required
$children array Required
$start int Required
$per_page int Required
$count int Required
$parent_term int Required
$level int Required

Source

File: wp-admin/includes/class-wp-terms-list-table.php. View all references

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 );
		}
	}
}

© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_terms_list_table/_rows