Description

Les fonctions en amont comme get_the_terms() et is_object_in_term() sont responsables de l'agrandissement des associations termes - objets en cache. Seule la fonction get_object_term_cache() retrouve les données d'associations qui existent déjà dans le cache.

Paramètres

$id

(int) (Requis) id de l'objet d'un terme, d'un poste, d'un commentaire ou d'un utilisateur par exemple.

$taxonomy

(string) (Requis) Nom de la taxonomie.

Retourne

(bool | WP_Term[] | WP_Error) Tableau d'objets WP_Term s'ils sont en cache. False si le cache est vide pour $id et $taxonomy. WP_Error si get_term() retourne un objet WP_Error.

Structure de la fonction get_object_term_cache()

Définie dans le fichier wp-includes/taxonomy.php à la ligne 3441 :

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[] = intval( $term_id );
        } elseif ( isset( $term_id->term_id ) ) {
            $term_ids[] = intval( $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;
}

Fonctions utilisées par get_object_term_cache()

_prime_term_caches()

Ajoute les termes d'ids donnés dans le cache s'ils n'existent pas dans celui-ci.

wp_cache_get()

Retourne les contenus du cache en donnant la clé et le groupe.

get_term()

Retourne toutes les données d'un terme en donnant son ID.

is_wp_error()

Vérifie si la variable est une erreur WordPress.

Où trouver la fonction get_object_term_cache() dans le CMS Wordpress

Sources

Codex Wordpress : get_object_term_cache()

Autres fonctions dans le même fichier : wp-includes/taxonomy.php

Retour