bp_get_objects_in_term( int|array $term_ids, string|array $taxonomies, array|string $args = array() )

Retrieve IDs of objects in valid taxonomies and terms for BuddyPress-related taxonomies.


Description Description

Note that object IDs are from the bp_get_taxonomy_term_site_id(), which on some multisite configurations may not be the same as the current site.

See also See also


Top ↑

Parameters Parameters

$term_ids

(Required) Term id or array of term ids of terms that will be used.

$taxonomies

(Required) String of taxonomy name or Array of string values of taxonomy names.

$args

(Optional) Change the order of the object_ids, either ASC or DESC.

Default value: array()


Top ↑

Return Return

(WP_Error|array) If the taxonomy does not exist, then WP_Error will be returned. On success, the array can be empty, meaning that there are no $object_ids found. When object IDs are found, an array of those IDs will be returned.


Top ↑

Source Source

File: bp-core/bp-core-taxonomy.php

function bp_get_objects_in_term( $term_ids, $taxonomies, $args = array() ) {
	// Different taxonomies may be stored on different sites.
	$taxonomy_site_map = array();
	foreach ( (array) $taxonomies as $taxonomy ) {
		$taxonomy_site_id = bp_get_taxonomy_term_site_id( $taxonomy );
		$taxonomy_site_map[ $taxonomy_site_id ][] = $taxonomy;
	}

	$retval = array();
	foreach ( $taxonomy_site_map as $taxonomy_site_id => $site_taxonomies ) {
		$switched = false;
		if ( $taxonomy_site_id !== get_current_blog_id() ) {
			switch_to_blog( $taxonomy_site_id );
			bp_register_taxonomies();
			$switched = true;
		}

		$site_objects = get_objects_in_term( $term_ids, $site_taxonomies, $args );
		$retval       = array_merge( $retval, $site_objects );

		if ( $switched ) {
			restore_current_blog();
		}
	}

	return $retval;
}

Top ↑

Changelog Changelog

Changelog
Version Description
2.7.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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