В WordPress я использую приведенный ниже код для отображения списка сообщений блога по категориям.Может кто-нибудь, пожалуйста, помогите мне, как я могу добавить AJAX Pagination к каждому сообщению, потому что я хочу отображать только 6 сообщений на странице.
function get_cat_posts() {
if ( !wp_verify_nonce( $_REQUEST['nonce'], 'mysite-cat-nav')) {
exit('No naughty business please');
}
$ids = array();
if( isset($_POST['term_id']) && !empty($_POST['term_id']) ) {
$term_id = $_POST['term_id'];
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'post',
'order' => 'DESC',
'posts_per_page' => -1,
'paged' => $paged,
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'term_id',
'terms' => $term_id,
),
),
);
Ниже приведен код моего запроса и цикла при отображении сообщений по категориям
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
$id = get_the_ID();
$title = get_the_title();
$categories = get_the_category();
$content = wp_trim_words( get_the_content(), 12, '...' );
$image = get_the_post_thumbnail();
echo '<div class="col-container col-md-4">
<div id="post-'. $id . '" class="col rj-inner-border">
<div class="et_pb_image_container">' . $image . '</div>
<div class="rj-the-content">
<h2 class="rj-post-title">
<a href="'.get_the_permalink().'">'.$title.'</a>
</h2>
<p class="post-meta">';
$count = 1;
$category_count = count($categories);
foreach ($categories as $category) {
$term_link = get_category_link( $category->term_id );
if($count == $category_count){
echo '<a href="' . $term_link .'" rel="category tag">'. $category->name .'</a> ';
}else{
echo '<a href="' . $term_link .'" rel="category tag">'. $category->name .'</a>, ';
}
$count++;
}
echo '</p>
<div class="post-content" style="height: 89px;">
<p>'. $content.'</p>
</div>
</div>
</div>
</div>';
}
wp_reset_postdata();
} else {
// no posts found
}
Все работает отлично, моя единственная проблема - это разбиение на страницы.
Этомой код Ajax при отображении списка сообщений, нажав на вкладки категории.
$(document).on('click', '#menu-menu-blog-categories li.menu-item', function(e) {
e.preventDefault();
var term_id = $(this).attr('data-term-id');
$.ajax({
url : formaliti.ajax_url,
type : "POST",
data : {
action : 'get_cat_posts',
nonce : formaliti.nonce,
term_id : term_id
},
beforeSend : function() {
},
success : function(response) {
$('.fl-node-5b076b128e378').html(response);
},
error : function(err) {
console.log(err);
}
});
});