term_is_ancestor_of( int|object $term1, int|object $term2, string $taxonomy )
Vérifie si un terme est le parent d'un autre terme.
Paramètres
$term1
(int|object)requisId ou objet du terme parent à vérifier.
$term2
(int|object)requisLe terme enfant.
$taxonomy
(string)requisNom de la taxonomie à laquelle $term1 et $term2 appartiennent.
Description / Informations supplémentaires
On peut autant utiliser un id qu'un objet de terme pour les deux premier paramètres.
Retourne
(bool) True si $term1 est le parent de $term2.
Déclaration et structure de la fonction term_is_ancestor_of()
term_is_ancestor_of()
est déclarée dans le fichier wp-includes/taxonomy.php
à la ligne 1667 :
function term_is_ancestor_of( $term1, $term2, $taxonomy ) {
if ( ! isset( $term1->term_id ) ) {
$term1 = get_term( $term1, $taxonomy );
}
if ( ! isset( $term2->parent ) ) {
$term2 = get_term( $term2, $taxonomy );
}
if ( empty( $term1->term_id ) || empty( $term2->parent ) ) {
return false;
}
if ( $term2->parent === $term1->term_id ) {
return true;
}
return term_is_ancestor_of( $term1, get_term( $term2->parent, $taxonomy ), $taxonomy );
}
Fonctions utilisées par term_is_ancestor_of()
term_is_ancestor_of()
Vérifie si un terme est le parent d'un autre terme.
get_term()
Retourne toutes les données d'un terme en donnant son ID.
Où est utilisée la fonction term_is_ancestor_of()
dans le CMS WordPress
Exemple
if ( term_is_ancestor_of( 4, 'musique', 'son' ) || has_term( 4, 'son' ) ){
wp_nav_menu( array( 'menu' => 'Musique' ) );
}
Sources
Codex WordPress : term_is_ancestor_of()
Autres fonctions dans le même fichier : wp-includes/taxonomy.php