Когда пытаюсь вывести в цикле посты с несколькими тегами посты дублируются. При этом если вывродим внтури категории пост с 1 тегом, то все норм. Где я не прав? Пробовал циклы менять местами, закрывать циклы чтобы было 2 endforeach на каждый цикл, тогда вообще не работает. Надо чтобы, если у поста внтури категории больше одного тега выводился только один пост.Сейчас если 2 тега у поста выводятся 2 одинаковых поста. Прим. На странице 5 табов. Внтури табов +/- одинаковый код только разница с тем из какой категории выводятся посты.
<div id="tab-3" class="tab__content hidden-tab-content">
//Получаем посты из категории 4 по 4 поста
<?php $posts = get_posts ("category=4&orderby=date&numberposts=4"); ?>
<?php if ($posts) : ?>
<?php foreach ($posts as $post) : setup_postdata ($post); ?>
//Получаем теги для поста
<?php $tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag) {
$tag_link = get_tag_link($tag->term_id);?>
<div class="col-md-3 col-sm-3 col-xs-12 off-pd line-item">
<div class="prod-card">
//Выводим ссылки на теги
<a href="<?php echo $tag_link; ?>">
//и картинку поста
<img src="<?php the_post_thumbnail_url('medium'); ?>" class="product-img img-responsive" ></a>
<div class="product-discr">
<p class="product-h"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></p>
<p class="product-short"><?php the_field('short_diskr_post') ?></p>
</div>
</div>
</div>
<?php
}
?>
<?php wp_reset_postdata(); ?>
<?php endforeach; ?>
<?php endif; ?>
</div>
Если к посту поставить 2 тега то выведется один и тот же пост в этой категории с двумя тегами. Т.е. дубль. Почему, как этого избежать, где я ошибся?