get_object_term_cache() – Retrieves the cached term objects for the given object ID.
You appear to be a bot. Output may be restricted
Description
Retrieves the cached term objects for the given object ID.
Upstream functions (like get_the_terms() and is_object_in_term()) are responsible for populating the object-term relationship cache. The current function only fetches relationship data that is already in the cache.
Usage
$bool|WP_Term[]|WP_Error = get_object_term_cache( $id, $taxonomy );
Parameters
- $id
- ( int ) required – Term object ID, for example a post, comment, or user ID.
- $taxonomy
- ( string ) required – Taxonomy name.
Returns
bool|WP_Term[]|WP_Error Array of WP_Term
objects, if cached. False if cache is empty for $taxonomy
and `$id`. WP_Error if get_term() returns an error object for any term.
Source
File name: wordpress/wp-includes/taxonomy.php
Lines:
function get_object_term_cache( $id, $taxonomy ) { $_term_ids = wp_cache_get( $id, "{$taxonomy}_relationships" ); // We leave the priming of relationship caches to upstream functions. if ( false === $_term_ids ) { return false; } // Backward compatibility for if a plugin is putting objects into the cache, rather than IDs. $term_ids = array(); foreach ( $_term_ids as $term_id ) { if ( is_numeric( $term_id ) ) { $term_ids[] = (int) $term_id; } elseif ( isset( $term_id->term_id ) ) { $term_ids[] = (int) $term_id->term_id; } } // Fill the term objects. _prime_term_caches( $term_ids ); $terms = array(); foreach ( $term_ids as $term_id ) { $term = get_term( $term_id, $taxonomy ); if ( is_wp_error( $term ) ) { return $term; } $terms[] = $term; } return $terms; }