Как сделать пагинацию для элементов custom post type на странице page
Вывод всех записей custom post type review без пагинации:
<?php $args = array( 'post_type' => 'review', 'posts_per_page' => '999' ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); ?> <?php the_content(); ?> <?php endwhile; wp_reset_query(); ?>
Вывод записей custom post type review с пагинацией на страницах архивов (index.php):
<?php global $query_string; query_posts($query_string.'&post_type=review&posts_per_page=10'); if(have_posts()) : while(have_posts()) : the_post(); ?> <?php the_content(); ?> <?php endwhile; wp_pagenavi(); endif; wp_reset_query(); ?>
Обычная пагинация срабатывает при размещении на страницах архивов или на Главной странице, но как вывести пагинацию на страницах page.
Вариант 1:
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'paged' => $paged ,'post_type' => 'review', 'posts_per_page' => '10' ); $wp_query = new WP_Query( $args ); while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?> <?php the_content(); ?> <?php endwhile; wp_pagenavi(); wp_reset_postdata(); ?>
Вариант 2 (Более предпочтителен, если на страницах есть вывод других циклов):
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'paged' => $paged ,'post_type' => 'review', 'posts_per_page' => '10' ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); ?> <?php the_content(); ?> <?php endwhile; wp_pagenavi( array( 'query' => $loop ) ); wp_reset_postdata(); ?>
Варианты кода с пагинацией предоставил Algiz.
28 июля 2015 года на почту начали приходить сообщения от Google Search Console Team <sc-noreply@google.com> …
WordPress — это удобная блог-платформа для публикации статей и управления ими, на которой базируется огромное…
При обновлении плагинов или движка сайта может возникнуть проблема, когда скрипту не хватит времени на…
Добавляем аудиозаписи в плеер HTML5 MP3 Player with Playlist Free, на тот момент, когда вы…
9 комментариев
Ответить
Огромное человеческое спасибо!!! 3 дня билась над этой проблемой вывода пагинации. Спасибо, спасибо, спасибо!!!
Доброго времени суток! Мне кажется у вас ошибка в начале «Вывод всех записей custom post type review без пагинации:»
'posts_per_page' => '999'
для выбора всех записей используется значение «-1».Я уже не помню, но, вроде, возникали какие-то проблемы со значением «-1», нужно пробовать.
не пашет более, при вызове функции wp_pagenavi обрывает поток выдачи
Должен же быть установлен плагин WP-PageNavi или что-то неправильно делаешь.
Сделал все как во втором примере, пагинация появилась, то зациклилась на 1 странице. Т.е. при переходе на 2-ю или другую, все равно остаётся на 1-й.
Пробуйте код из 3-го или 4-го примера.
Как вы решили проблему с 404й страницей? При переходе на страницу пагинации (2,3, неважно), ВП отдает 404 страницу.
У меня выводится cpt на page
После создания таксономий нужно обязательно зайти в настройки Постоянных ссылок (просто в админке в Настройках) и нажать «Сохранить изменения», чтобы обновились ЧПУ.