Paramètres

$term(string|int|array)optionnel

Le nom, slug ou id du terme ou un tableau de ceux-ci à comparer.

Valeur par défaut : ''

$taxonomy(string)optionnel

Nom de la taxonomie.

Valeur par défaut : ''

$post(int|WP_Post)optionnel

Poste à vérifier au lieu du poste actuel.

Valeur par défaut : null

Description / Informations supplémentaires

Les termes à comparer peuvent être des id, des noms ou des slugs de termes.

Si aucun terme n'est donné, la fonction vérifiera si le poste a des termes.

Retourne

(int) True si le poste actuel a un ou plusieurs des termes donnés, false sinon.

Déclaration et structure de la fonction has_term()

function has_term( $term = '', $taxonomy = '', $post = null ) {
    $post = get_post( $post );

    if ( ! $post ) {
        return false;
    }

    $r = is_object_in_term( $post->ID, $taxonomy, $term );
    if ( is_wp_error( $r ) ) {
        return false;
    }

    return $r;
}
is_object_in_term()

Détermine si l'objet donné est associé avec un ou plusieurs des termes donnés.

get_post()

Retourne les donnés d'un poste en passant son id.

is_wp_error()

Vérifie si la variable est une erreur WordPress.

Où est utilisée la fonction has_term() dans le CMS WordPress

Exemples

Vérifier si le poste a des termes avec une taxonomie donnée :
if( has_term('', 'genre') ){
    // code ici...
}
if( has_term( 'jazz', 'genre' ) ) {
    // code ici...
}
Cange de classes CSS si le poste a le terme 'action' :
$hook_css_class = '';
global $post;

if (has_term( 'action', 'hook-type', $post->ID )) {
  $hook_css_class = "is-action-hook";
} else {
  $hook_css_class = "is-filter-hook";
};

Sources

Codex WordPress : has_term()

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

Retour