web-dev-qa-db-fra.com

Comment afficher les sous-catégories de produits dans ma page unique de type d'article personnalisé

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?

1
sumanta.k

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
        }
    }
}
1
inarilo