webentwicklung-frage-antwort-db.com.de

produkte, die nach Unterkategorien in einem aktuellen Kategoriearchiv verschachtelt sind

Ich kann eine Liste der Unterkategorien auf einer Kategoriearchivseite mit dem folgenden Code in archive-product.php abrufen, möchte jedoch die Liste der Produkte anzeigen, die derzeit den einzelnen Unterkategorien zugewiesen sind.

<?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;
        }
    }
?>

Beispiel:

Unterkategorie 1

  • Produkt 1 von Unterkategorie 1
  • Produkt 2 von Unterkategorie 1

  • Produkt 1 von Unterkategorie 2
  • Produkt 2 von Unterkategorie 2

Ich lerne immer noch WordPress, daher wird jede Hilfe sehr geschätzt.

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