@veroni1337

Почему ajax возвращает всю страницу?

Здравствуйте. Делаю кнопку показать еще записи в 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,
	);
  • Вопрос задан
  • 129 просмотров
Пригласить эксперта
Ответы на вопрос 1
Этого кода недостаточно (из functions.php), чтобы ответить на вопрос.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы