WP_Term_Query::populate_terms( Object[]|int[] $terms ): WP_Term[]

Creates an array of term objects from an array of term IDs.

Description

Also discards invalid term objects.

Parameters

$termsObject[]|int[]required
List of objects or term ids.

Return

WP_Term[] Array of WP_Term objects.

Source

protected function populate_terms( $terms ) {
	$term_objects = array();
	if ( ! is_array( $terms ) ) {
		return $term_objects;
	}

	foreach ( $terms as $key => $term_data ) {
		if ( is_object( $term_data ) && property_exists( $term_data, 'term_id' ) ) {
			$term = get_term( $term_data->term_id );
			if ( property_exists( $term_data, 'object_id' ) ) {
				$term->object_id = (int) $term_data->object_id;
			}
			if ( property_exists( $term_data, 'count' ) ) {
				$term->count = (int) $term_data->count;
			}
		} else {
			$term = get_term( $term_data );
		}

		if ( $term instanceof WP_Term ) {
			$term_objects[ $key ] = $term;
		}
	}

	return $term_objects;
}

Changelog

VersionDescription
4.9.8Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.