<?php if ( $query->have_posts() ){ ?>
Результаты: <?php echo $query->found_posts; ?> <br />
<div class='search-filter-results-list'>
<?php
$i = 1;
while ($query->have_posts()){
$query->the_post();
if($i === 1) $tags = get_the_tags(get_the_ID());
?>
<!-- Вывод данных поста -->
<!-- Вывод данных поста -->
<?php $i++;} ?>
</div>
<?php
$taggedPosts = get_posts( array("tag__in" => array($tags[0]->term_id)) );
if($taggedPosts->have_posts()){
while ($taggedPosts->have_posts()){
$taggedPosts->the_post(); ?>
<!-- Вывод данных поста -->
<!-- Вывод данных поста -->
<?php } } wp_reset_postdata();
} else { ?>
<div class='search-filter-results-list' data-search-filter-action='infinite-scroll-end'>
<span>Нет результатов</span>
</div>
<?php } ?>
$query->the_post();
if(i === 1) $tags = get_the_tags(get_the_ID());
<!-- Вывод данных поста -->
ЗДЕСЬ
<?php } ?>
$taggedPosts = get_posts( array("tag__in" => array(tags[0]->term_id)) );
if($taggedPosts->have_posts()){
while ($taggedPosts->have_posts()){
$taggedPosts->the_post(); ?>
<!-- Вывод данных поста -->
сюда можно скопировать всю предыдущую разметку (которая у вас между таким комментариями уже есть)
<!-- Вывод данных поста -->
<?php } } wp_reset_postdata(); ?>
Что то типа have_rows(‘contacts_st’, id)