Фильтрация по тегам
Как сделать фильтрацию по тегам на странице категорий?
На странице вывод постов из текущей категории и кнопки при нажатии на которые, должны остаться только посты из этой же категории и с выбранным тегом.
Через стандартный цикл, остаются нужные посты, но количество страниц пагинации не уменьшилось, когда посты с тегом закончились остаются просто пустые страницы.
<a onclick="cleanUrl()">Все</a>
<a href="<?php get_page_link(); ?>?stihi=true">В стихах</a>
<a href="<?php get_page_link(); ?>?proza=true ">В прозе</a>
<?php
while ( have_posts() ) : the_post(); ?>
<div class="post_wrap">
<?php if (isset($_GET['stihi'])){ ?>
<?php if ( has_tag('stihi') ) { ?>
<?php get_template_part( 'template-parts/temp', 'basic' ); ?>
<?php } else { ?>
<?php } ?>
<?php } else { ?>
<?php get_template_part( 'template-parts/temp', 'basic' ); ?>
<?php } ?>
</div>
</div>
<?php endwhile;
the_posts_pagination();
Через WP_Query та же проблема с пагинацией.
$cat = get_category( get_query_var( 'cat' ) );
$currentCategory = $cat->slug;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$post_args = array(
'category_name' => $currentCategory,
'tag' => 'stihi',
'paged'=> $paged,
'posts_per_page' => '2'
);
$posts_loop = new WP_Query( $post_args );
if ( $posts_loop->have_posts() ) {
while( $posts_loop->have_posts() ):
$posts_loop->the_post();
get_template_part( 'template-parts/temp', 'basic' );
endwhile;
}
else{
echo "error";
}
the_posts_pagination();
wp_reset_query();