has_term( string|int|array $term = '', string $taxonomy = '', int|WP_Post $post = null )
Vérifie si le poste actuel a un des termes donnés.
Paramètres
$term(string|int|array)optionnelLe nom, slug ou id du terme ou un tableau de ceux-ci à comparer.
Valeur par défaut : ''
$taxonomy(string)optionnelNom de la taxonomie.
Valeur par défaut : ''
$post(int|WP_Post)optionnelPoste à 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()
has_term() est déclarée dans le fichier wp-includes/category-template.php à la ligne 1542 :
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;
}
Fonctions utilisées par has_term()
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
if( has_term('', 'genre') ){
// code ici...
}
if( has_term( 'jazz', 'genre' ) ) {
// code ici...
}
$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