- Ce sujet contient 0 réponse, 1 participant et a été mis à jour pour la dernière fois par , le il y a 5 années.
Affichage de 1 message (sur 1 au total)
Affichage de 1 message (sur 1 au total)
- Vous devez être connecté pour répondre à ce sujet.
WooFrance Dépannage et support WordPress WooCommerce › Forums › Forum de Support WooCommerce › Comment n'afficher que des produits d'une catégorie dans mon product-archive.php
Salut les codeurs! Je me suis inscrit ici pour poster ça, car là ça fait quelques temps que je bloque. En gros, j’aimerai faire un affichage personnalisé de la page boutique, donc j’ai mon product-archive.php dans mon thème enfant (le thème parent c’est Storefront pour info), et je n’ai édité que la partie « woocommerce_product_loop » de cette manière :
woocommerce_product_loop_start();
if ( wc_get_loop_prop( 'total' ) ) {
$categories = get_terms( ['taxonomy' => 'product_cat', 'hide_empty' => false] );
foreach ( $categories as $category ) {
$title_value = (mb_strlen($category->parent) + 1);
print_r("<h$title_value>$category->name</h$title_value>");
while ( have_posts() ) {
the_post();
/**
* Hook: woocommerce_shop_loop.
*/
do_action( 'woocommerce_shop_loop' );
wc_get_template_part( 'content', 'product' );
}
}
}
woocommerce_product_loop_end();
Mon objectif est d’afficher chaque nom de catégorie en « titre » (le foreach) suivi des produits correspondants à la catégorie précédemment définie, hors, là, ça m’affiche tous les produits en dessous de chaque titre de catégorie.
Mon problème c’est que je ne sais pas comment filtrer les produits. Je suppose qu’il faut éditer la WP_query, mais je ne sais pas comment l’altérer tout en gardant ma shop_loop quasi-« vanilla » (pour rester le plus compatible possible).
J’ai aussi posté mon problème sur stack overflow.
====================