bokovua
@bokovua
Любитель

Дублируется цикл woocommerce?

Привет ребята!
Не могу сообразить, в чем проблема. На странице вывожу несколько циклов для отображения товаров из разных категорий, каждая группа товаров в своем блоке. Но столкнулся с тем, что вне зависимости от того, указываю я слаг таксономии или нет, во всех блоках отображаются одни и те же товары вперемешку из разных категорий. Подскажите, где я допустил ошибку.

Пример первого запроса к одной категории


<?php
$params5 = array('post_type' => 'product',
        'posts_per_page' => 2,
        'tax_query' => 'aksessuary-i-rashodnye-materialy');
$wc_query5 = new WP_Query($params5);
?>
<?php if ($wc_query5->have_posts()) : ?>
     <?php while ($wc_query5->have_posts()) :
                $wc_query5->the_post(); ?>
<div class="item">
<?php the_post_thumbnail('tglavnaya'); ?>
 <h2><?php the_title(); ?></h2>
 <h4><span class="tooltip">Подробнее<span class="tooltip-text"><?php the_excerpt(); ?></span></span></h4>
 <h5> <? echo $product->get_price_html(); ?></h5>
 <div class="g2011164 zakazat">Заказать</div>
</div>
  <?php endwhile; ?>
     <?php wp_reset_postdata(); ?>
    
    
     <?php endif; ?>


Пример второго блока и другой категории товаров

<?php
$params4 = array('post_type' => 'product',
        'posts_per_page' => 20,
        'tax_query' => 'pechati-v-metallicheskom-korpuse');
$wc_query4 = new WP_Query($params4);
?>
<?php if ($wc_query4->have_posts()) : ?>
     <?php while ($wc_query4->have_posts()) :
                $wc_query4->the_post(); ?>
<div class="item">
<?php the_post_thumbnail('tglavnaya'); ?>
 <h2><?php the_title(); ?></h2>
 <h4><span class="tooltip">Подробнее<span class="tooltip-text"><?php the_excerpt(); ?></span></span></h4>
 <h5> <? echo $product->get_price_html(); ?></h5>
 <div class="g2011164 zakazat">Заказать</div>
</div>
  <?php endwhile; ?>
     <?php wp_reset_postdata(); ?>
    
    
     <?php endif; ?>
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix
Java Software Engineer
А если вот, эти строки:
'tax_query' => 'pechati-v-metallicheskom-korpuse');

поменять на:
'tax_query' => array(
	array(
		'taxonomy' => 'product_cat',
		'field'    => 'slug',
		'terms'    => 'pechati-v-metallicheskom-korpuse'
	)
)


P.S. Если вы хотите вывести товары предварительно разделяя их по рубрикам на одной странице, то можно не создавать несколько циклов, а использовать 2 вложенных цикла. Первый получает термин таксономии, а второй товары термина.
Похожий пример - https://gist.github.com/DevinWalker/6fb2783c05b46a...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы