Je souhaite que quelqu'un puisse me donner un indice.
En fait, j'affiche toutes les catégories de produits (taxonomie produit_cat) sur des produits d'une page, en affichant également les enfants relatifs au produit lui-même.
Par exemple: Product-A a Cat1-parent> Cat1-child1, Cat1-child2 => Le code les affiche correctement, mais affiche également toute autre catégorie de parents appartenant à un autre produit existant .... résultat: je reçois un parent supplémentaire catégorie affichant sans enfants.
Je souhaite donc uniquement afficher les catégories parentes appartenant au produit lui-même.
Je pense qu'il me manque des connaissances au début du code avec la fonction get_terms
$parents = get_terms( 'product_cat' , array( 'parent' => 0 ) );
foreach( $parents as $parent ):
echo '<div class="parent '.$parent->slug.'">' . $parent->name . '</div>';
get_terms
concerne l’obtention de tous les termes d’une taxonomie. get_the_terms
saisit tous les termes liés à la publication.
Le problème est qu'il semble que vous souhaitiez ne renvoyer que les termes qui sont des catégories parentes, pas les enfants, et get_the_terms
ne transmet pas de tableau d'arguments.
$terms = get_the_terms( get_the_ID(), 'product_cat' );
foreach ( $terms as $term ){
if ( $term->parent == 0 ) {
echo '<div class="parent '.$term->slug.'">' . $term->name . '</div>';
}
}
Merci pour la leçon. Je comprends mieux maintenant. Je viens de changer le nom de mon terme et de l'insérer dans ma fonction complète: $parents = get_the_terms( get_the_ID(), 'product_cat' );
foreach ( $parents as $parent ):
if ( $parent->parent == 0 ) {
echo '<div class="parent '.$parent->slug.'">' . $parent->name . '</div>';
}
Tu m'as beaucoup aidé. Je vous remercie!