@shelganov

Как сделать pagination в шаблоне страницы wordpress?

Создал шаблон страницы куда вывожу кастомный post type. Нужно создать пагинацию - она выводится, показывается нужное количество страниц но при переходе на другую страницу меняется URL, а посты выводятся все те же с 1 страницы:
$paged = ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1;
$args = array(
    'post_type' => 'reports',
    'posts_per_page' => 3,
    'tax_query' => array(
        array(
            'taxonomy' => 'reports_tax',
            'field' => 'slug',
            'terms' => $current_cat
        )
    ),
    'paged' => $paged
);
$query = new WP_Query($args);

if ($query -> have_posts() ) :
    while ($query -> have_posts() ) : $query -> the_post();
        get_template_part( 'template-parts/content', 'reports');
    endwhile;

    $big = 999999999; 
    echo paginate_links( array(
        'base'    => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format'  => $format,
        'current' => max( 1, get_query_var('paged') ),
        'total'   => $query->max_num_pages,
        ) );
endif;
  • Вопрос задан
  • 1816 просмотров
Пригласить эксперта
Ответы на вопрос 3
maxxannik
@maxxannik
Сайты на WordPress + Интернет магазины WooCommerce
Никогда не задумывался над таким вопросом. Всегда использовал базовый цикл WP.

Например если тип поста report то базовый цикл предположим открывается по адресу reports. С этим можно работать.

Если нужно поменять шаблон вывода - делается endpoint типа /reports/mytmp/ и при таком открытии - формриуется другой шаблон вывода.

Конечно можно прибить пагинацию куда угодно, но это затратно. Надо хорошо все возможности изучить прежде чем ввязываться в эту авантюру.

Если не отговорил то копайте в сторону Rewrite Rule API https://truewp.ru/blog/wordpress/wp_rewrite.html
При должном усердии можно все, даже почесать ногой за ухом.
Ответ написан
Комментировать
rOOse
@rOOse
Frontend developer
У custom post type есть своя архивная страница у которой есть свой шаблон, зачем вы создаете отдельную страницу для них?
Ответ написан
@SeoAnatomy
Wordpress Developer
Паринация не будет работать на странице. Она будет работать только на странице таксономии или архива.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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