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
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
- get_objects_in_term(): for a full description of function and 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()
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.
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;
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 2.7.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.