@anvish-net

Выдача категорий, а не товаров при фильтрации?

Зашел в тупик вот с чем…
Есть фильтр FacetWP.
Какова цель:
Осуществлять фильтрацию по допполям товаров, но показывать в выдаче категории, в которых эти товары находятся.
Реализовал следующее:
Делается фильтрация по допполям товаров и в выдаче показывается категория, к которой этот товар относятся, НО проблема в том, что категория имеет несколько товаров, соответственно для каждого товара (который находится в этой категории) в выдаче дублируется категория (что логично).
Вопрос:
Как показывать только одну категорию товаров, учитывая, что товаров в категориях несколько.
Вот код:

<?php echo ‘<div class=»row»>’; ?>
<?php while ( have_posts() ): the_post(); ?>
<?php
global $post;
global $product;
$categories = get_the_terms( $post->ID, ‘product_cat’ );
if (is_array($categories) || is_object($categories)) {
foreach ($categories as $category) {
$cat_id=$category->term_id;
}
}
$terms = get_terms( array(
‘taxonomy’ => ‘product_cat’,
‘hide_empty’ => false,
‘orderby’ => ‘id’,
‘order’ => ‘ASC’,
) );
foreach($terms as $term ){
if($cat_id==($term->term_taxonomy_id)){
$name_cat=$term->name;
echo ‘<div class=»card-collection col-xs-12 col-md-6 col-lg-4″>’;
echo ‘<div class=»card-collection__wrap»>’;
echo ‘<div class=»card-collection-img-wrap»>’;
$thumb_ID = get_woocommerce_term_meta( $term->term_id, ‘thumbnail_id’, true );
$image = wp_get_attachment_url($thumb_ID);
echo ‘‘;
echo ‘<div class=»card-collection__hidden»>’;
echo ‘‘;
echo ‘<svg class=»card-collection__eye» width=»18″ height=»18″><use xlink:href=»#icons-eye»></use></svg>’;
echo ‘Подробнее‘;
echo ‘</div>’;
echo ‘</div>’;
echo ‘<div class=»card-collection__descr»>’;
echo ‘<div class=»card-collection__title»>’;
echo ‘<div class=»card-collection__link-wrap»>’;
echo ‘‘;
echo	$name_cat;
echo ‘‘;
echo ‘</div>’;
echo ‘</div>’;
echo ‘<div class=»card-collection__factory»>’;
echo ‘‘;
echo the_field(‘factory’);
echo ‘‘;
echo ‘<span class=»»> / ‘;
echo the_field(‘country’);
echo ‘</span>’;
echo ‘</div>’;
echo ‘<div class=»card-collection__price»>от <span class=»card-collection__price-item»>’;
echo $product->get_price_html();
echo ‘</span>/м<sup>2</sup></div>’;
echo ‘</div>’;
echo ‘</div>’;
echo ‘</div>’;
}
}
?>
<?php endwhile; ?>
<?php echo ‘</div>’; ?>
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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