Фильтрация по тегам
Как сделать фильтрацию по тегам на странице категорий?
На странице вывод постов из текущей категории и кнопки при нажатии на которые, должны остаться только посты из этой же категории и с выбранным тегом.
Через стандартный цикл, остаются нужные посты, но количество страниц пагинации не уменьшилось, когда посты с тегом закончились остаются просто пустые страницы.
<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();