Paramètres

$post

(int | WP_Post) (Requis) Id ou objet du poste.

$taxonomy

(string) (Requis) Nom de la taxonomie.

Retourne

(WP_Term[] | false | WP_Error) Tableau d'objets WP_Term, false s'il n'y a pas de termes pour le poste ou si le poste n'existe pas, WP_Error sinon.

Structure de la fonction get_the_terms()

Définie dans le fichier wp-includes/category-template.php à la ligne 1268 :

function get_the_terms( $post, $taxonomy ) {
    $post = get_post( $post );
    if ( ! $post ) {
        return false;
    }

    $terms = get_object_term_cache( $post->ID, $taxonomy );
    if ( false === $terms ) {
        $terms = wp_get_object_terms( $post->ID, $taxonomy );
        if ( ! is_wp_error( $terms ) ) {
            $term_ids = wp_list_pluck( $terms, 'term_id' );
            wp_cache_add( $post->ID, $term_ids, $taxonomy . '_relationships' );
        }
    }

    /**
     * Filters the list of terms attached to the given post.
     *
     * @since 3.1.0
     *
     * @param WP_Term[]|WP_Error $terms    Array of attached terms, or WP_Error on failure.
     * @param int                $post_id  Post ID.
     * @param string             $taxonomy Name of the taxonomy.
     */
    $terms = apply_filters( 'get_the_terms', $terms, $post->ID, $taxonomy );

    if ( empty( $terms ) ) {
        return false;
    }

    return $terms;
}

Fonctions et Hook utilisés par get_the_terms()

wp_cache_add()

Ajoute des données au cache si la clé du cache n'existe pas.

get_the_terms

Filtre la liste de termes attachés au post donné.

wp_list_pluck()

Retire certain champ d'une liste d'objet.

get_object_term_cache()

Retourne les objets de termes du cache pour un id d'objet donné.

wp_get_object_terms()

Retourne les termes associés aux ids d'objets donnés, en fournissant les taxonomies correspondantes.

apply_filters()

Appel les fonctions qui ont été attaché à un filtre (hook).

get_post()

Retourne les données d'un poste en passant l'id ou l'objet d'un poste.

is_wp_error()

Vérifie si la variable est une erreur WordPress.

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

Exemples

Objet WP_Term :
WP_Term Object (
    [term_id] =>
    [name] =>
    [slug] =>
    [term_group] =>
    [term_taxonomy_id] =>
    [taxonomy] =>
    [description] =>
    [parent] =>
    [count] =>
    [filter] =>
)
function example_get_the_terms( $taxonomy ) {
         
    $terms = get_the_terms( get_the_ID(), $taxonomy );
                          
    if ( $terms && ! is_wp_error( $terms ) ) {
         
        $term_links = array();
         
        foreach ( $terms as $term ) {
            $term_links[] = '<a href="' . esc_attr( get_term_link( $term->slug, $taxonomy ) ) . '">' . __( $term->name ) . '</a>';
        }
                                 
        $all_terms = join( ', ', $term_links );
 
        echo '<span class="terms-' . esc_attr( $term->slug ) . '">' . __( $all_terms ) . '</span>';
 
    }
 
}

Sources

Codex Wordpress : get_the_terms()

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

Retour