WP отображение пагинации при Ajax сформированном контенте
Есть страница на которой выводятся посты (произвольный тип записи news). На этой странице имеется форма фильтрации, с чекбоксами на таксономию этих постов.
Вопрос, как реализовать Пагинацию для Ajax фильтра, Фильтр должен работать без перезагрузки страницы, а также должна присутствует пагинация (не более 5 записей на странице).
Решить задачу в лоб. Не получилось. functionns.php
add_action('wp_ajax_myfilter', 'my_filter_function');
add_action('wp_ajax_nopriv_myfilter', 'my_filter_function');
function my_filter_function(){
$my_terms = $_POST['filter_tags_id'];
if(!empty( $my_terms)){
$args = array(
'post_type' => 'news',
'orderby' => 'post_date',
'order' => 'DESC',
'posts_per_page' => '5',
'tax_query' => [
'relation' => 'OR',
[
'taxonomy' => 'post_tag',
'field' => 'id',
'terms' => $my_terms,
]
],
);
} else{
$args = array(
'post_type' => 'news',
'orderby' => 'post_date',
'order' => 'DESC',
'posts_per_page' => -1,
);
}
$query = new WP_Query( $args );
if( $query->have_posts() ) :
while ($query->have_posts()) : $query->the_post();
$title = get_the_title();
echo '<div class="block_item">
<a class="block_item__link" href="' . get_permalink() . '">' . $title . '</a>
</div>';
endwhile;
?>
<div class="category_pagination">
<?php
echo paginate_links( array(
'base' => get_pagenum_link(1) . '%_%',
'format' => '/page/%#%/',
'total' => $query->max_num_pages,
'current' => max( 1, get_query_var('paged') ),
'show_all' => false,
'end_size' => 1,
'mid_size' => 2,
'prev_next' => true,
'prev_text' => __('Previous', 'test'),
'next_text' => __('Next', 'test'),
'class' => '',
) );
?>
</div>
<?php
wp_reset_postdata();
else :
echo '<div class="block_item">No news found</div>';
endif;
die();
}
При добавлении обычной пагинации на аякс запрос, оно рисует ссылки, вот только URL адресса у ссылок получаются по типу <a class="page-numbers" href="http://test.loc/wp-admin/admin-ajax.phppage/2/">2</a>
И нажимая на данные ссылки оно разумеется никуда не перебрасывает. Подскажите, как быть с пагинацией на Ajax для WordPress
