25.09.2015
Вывод всех записей 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.
Комментарии (9) к “Как сделать пагинацию для элементов custom post type на странице page”
Ольга
Огромное человеческое спасибо!!! 3 дня билась над этой проблемой вывода пагинации. Спасибо, спасибо, спасибо!!!
Александр
Доброго времени суток! Мне кажется у вас ошибка в начале “Вывод всех записей custom post type review без пагинации:”
'posts_per_page' => '999'
для выбора всех записей используется значение “-1”.Denis Creative
Я уже не помню, но, вроде, возникали какие-то проблемы со значением “-1”, нужно пробовать.
ramaz
не пашет более, при вызове функции wp_pagenavi обрывает поток выдачи
Denis Creative
Должен же быть установлен плагин WP-PageNavi или что-то неправильно делаешь.
Серегй
Сделал все как во втором примере, пагинация появилась, то зациклилась на 1 странице. Т.е. при переходе на 2-ю или другую, все равно остаётся на 1-й.
Denis Creative
Пробуйте код из 3-го или 4-го примера.
Григорий
Как вы решили проблему с 404й страницей? При переходе на страницу пагинации (2,3, неважно), ВП отдает 404 страницу.
У меня выводится cpt на page
Denis Creative
После создания таксономий нужно обязательно зайти в настройки Постоянных ссылок (просто в админке в Настройках) и нажать “Сохранить изменения”, чтобы обновились ЧПУ.