get_the_terms( int|WP_Post $post, string $taxonomy )
Retourne les termes d'une taxonomie attachés à un poste.
Paramètres
$post
(int|WP_Post)requisId ou objet du poste.
$taxonomy
(string)requisNom 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.
Déclaration et structure de la fonction get_the_terms()
get_the_terms()
est déclarée dans le fichier wp-includes/category-template.php
à la ligne 1288 :
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 utilisées par get_the_terms()
wp_cache_add()
Ajoute des données au cache, si la clé du cache n'existe pas.
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.
Hook utilisé par get_the_terms()
get_the_terms
Filtre la liste de termes attachés au post donné.
Où est utilisée la fonction get_the_terms()
dans le CMS WordPress
Exemples
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