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:

1 to 33 of 33
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;
}
 

 View on GitHub View on Trac