web-dev-qa-db-fra.com

produits imbriqués par sous-catégories dans une archive de catégorie actuelle

Je peux obtenir une liste de ses sous-catégories dans une page d'archive de catégorie en utilisant le code ci-dessous dans archive-product.php, mais je souhaite afficher la liste des produits actuellement attribués à chaque sous-catégorie.

<?php
    $parentid = get_queried_object_id();
    $args = array(
        'parent' => $parentid
    );
    $categories = get_terms(
        'product_cat', $args
    );
    if ( $categories ) {
        foreach ( $categories as $category ) {
            echo $category->name;
        }
    }
?>

Exemple:

Sous catégorie 1

  • Produit 1 de la sous-catégorie 1
  • Produit 2 de la sous-catégorie 1

  • Produit 1 de la sous-catégorie 2
  • Produit 2 de la sous-catégorie 2

J'apprends encore WordPress, toute aide sera donc très appréciée.

1
Kevin S
<?php
    $parentid = get_queried_object_id();
    $args = array(
        'parent' => $parentid
    );
    $categories = get_terms(
        'product_cat', $args
    );
    if ( $categories ) :
        foreach ( $categories as $category ) :
            echo esc_html($category->name);
            $products = new WP_Query( array(
                'post_type' => 'product',
                'tax_query' => array(
                    array(
                        'taxonomy' => 'product_cat',
                        'field' => 'slug',
                        'terms' => $category->slug,
                    ),
                ) 
            ) );
            if ( $products->have_posts() ) :
            ?>
                <ul>
                    <?php while ( $products->have_posts() ) : $products->the_post(); ?>
                        <li><?php the_title(); ?></li>
                    <?php endwhile; ?>
                </ul>
            <?php
                wp_reset_postdata();
            endif;
        endforeach;
    endif;
?>
1
Krzysiek Dróżdż