Здравствуйте. Делаю кнопку показать еще записи в wordpress, но ajax возвращает мне всю страницу вместо новой записи.
вот js код:
// определяем в переменные кнопку, текущую страницу и максимальное кол-во страниц
var loadMore = $( '.filter_loadmore' ),
paged = loadMore.data( 'paged' ),
maxPages = loadMore.data( 'max_pages' );
loadMore.click( function( event ) {
$.ajax({
type : 'POST',
url : loadMore.attr('action'), // получаем из wp_localize_script()
data : loadMore.serialize(),
beforeSend : function( xhr ) {
$('.portfolio_spinner').toggleClass('active');
},
success : function( data ){
paged++; // инкремент номера страницы
// loadMore.parent().before( data );
$('.portfolio_cards_wrap').html(data);
$('.portfolio_spinner').removeClass('active');
// если последняя страница, то удаляем кнопку
if( paged == maxPages ) {
loadMore.remove();
}
}
});
} );
кнопка на фронтенде:
<?php
// текущая страница
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
// максимум страниц
$max_pages = $wp_query->max_num_pages;
// если текущая страница меньше, чем максимум страниц, то выводим кнопку
if($paged < $max_pages) :
?>
<div class="portfolio_mobile_add_cards">
<form method="POST" class="additional_buttons buttons filter_loadmore" data-max_pages="<?php echo $max_pages ?>" data-paged="<?php echo $paged ?>">
<input type="radio" value="3" id="loadmore" name="loadmore">
<label for="loadmore" class="buttons">Показать ещё</label>
<input type="hidden" name="action" value="myfilter">
</form>
</div>
<?php endif; ?>
код из functions.php:
$paged = ! empty( $_POST[ 'paged' ] ) ? $_POST[ 'paged' ] : 1;
$paged++;
$args = array(
'post_type' => 'projects',
'posts_per_page' => $postsCount,
'tax_query' => $tax_query,
'orderby' => $orderby,
'order' => $order,
'meta_query' => $sortMetaQuery,
'paged' => $paged,
);