@IInspectorGadget

Почему не работает пагинация и не работают страницы ../page/2 в wordpress?

Создал кастомный тип поста "Горящий тур", нужно все его записи вывести на страницу постранично.
Пагинация не выводится.
<?php
global $wp_query;
$page = get_query_var('paged');
$args = array (
'post_type'   => 'hot-tour',
  'posts_per_page'         => '2',
  'paged' => $page,
);

$custom_query = new WP_Query( $args );


if ( $custom_query->have_posts() ) {
  while ( $custom_query->have_posts() ) {
    $custom_query->the_post();
                the_title();
  }
}
posts_nav_link()
?>
<?php get_footer() ;?>


В адмике стоит вывод по 2 поста.

Также если в ручную пытаюсь перейти на другую страницу ../page/2 - переносит на index.php

register_post_type( 'hot-tour', [
		'label'  => 'Горящий тур',
		'public'              => true,
		'menu_position'       => 4,
        'supports'            => ['title' ,'thumbnail', 'custom-fields' ], // 'title','editor','author','thumbnail','excerpt','trackbacks','custom-fields','comments','revisions','page-attributes','post-formats'
        'has_archive' => true,
        
	] );


Помогите решить проблему
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ivansedov
$query = new WP_Query([
  'post_type'      => 'hot-tour',
  'posts_per_page' => 2,
  'paged'          => get_query_var('page'),
]);

if ($query->have_posts()) {
  while ($query->have_posts()) {
    $query->the_post();
    the_title();
  }

  wp_reset_postdata();
}

// Выводим пагинацию
echo paginate_links([
  'base'    => user_trailingslashit(wp_normalize_path(get_permalink() . '/%#%/')),
  'current' => max(1, get_query_var('page')),
  'total'   => $query->max_num_pages,
]);

И почитайте, как правильно выводить пагинацию в документации
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы