J'ai créé des catégories et des sous-catégories de produits WC telles que: Matériel (catégorie principale) -> Masques (sous-catégorie) -> Masques faciaux complets (sous-catégorie) ... ainsi de suite ...
Lorsque j'utilise $variations = get_the_terms( the_ID() , 'product_cat' );
sur une page .php single- {custom-post-type}., J'obtiens toutes les catégories et sous-catégories. Mais je veux montrer seulement
Masques faciaux complets (sous-catégorie)
Comment puis-je faire cela une idée ou une solution?
En utilisant wp_list_pluck
pour retourner un tableau sous la forme de array(term_id => parent, ...)
, vous pouvez procéder comme suit (les explications sont données dans les commentaires):
$variations = get_the_terms( the_ID() , 'product_cat' );
if(is_array($variations)) { //make sure terms were returned
$parents = wp_list_pluck( $variations, 'parent', 'term_id' );
foreach ($variations as $variation) {
if($variation->parent && $parents[$variation->parent] && !$parents[$parents[$variation->parent]]) { //if parent's parent has no parent (parent==0) i.e. a top level term (0 evaluates to false when treated as a boolean)
//display term
}
}
}