@alexander_chn

Почему неправильно работает пагинация в Wordpress?

Здравствуйте!
Вот так вывожу статьи:
$i = 0;
$arr = array();

$count_items = 12;
$paged = get_query_var('paged', 1);
$recent = new WP_Query( "posts_per_page=$count_items&paged=$paged" );

while ( $recent->have_posts() ):
  $recent->the_post();
  $category = get_the_category();

  $arr[$i]['link']    = get_permalink();
  $arr[$i]['img']     = return_the_post_thumbnail_url('widgetfull');
  $arr[$i]['rubrika'] = $category[0]->cat_name;
  $arr[$i]['title']   = get_the_title();
  $arr[$i]['excerpt'] = do_excerpt(get_the_excerpt(), 17);

  $i++;
endwhile;
wp_reset_postdata();
print_r($arr);

Внизу размещаю:
wp_corenavi();
Проблема в том что выводит 12 страниц для пагинации, но статьи заканчиваются на 9 странице. И остальные три страницы - пустые. Как это исправить?
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
HectorPrima
@HectorPrima
программист
Для кастомного запроса нужно такой же пагинатор. Типа:
...
<?php endwhile; ?>
<?php if ($recent->max_num_pages > 1) : // custom pagination  ?>
    <?php
    $orig_query = $wp_query;
    $wp_query = $recent;
    ?>
    <nav class="prev-next-posts">
        <div class="prev-posts-link">
            <?php echo get_next_posts_link( 'Older Entries', $custom_query->max_num_pages ); ?>
        </div>
        <div class="next-posts-link">
            <?php echo get_previous_posts_link( 'Newer Entries' ); ?>
        </div>
    </nav>
    <?php
    $wp_query = $orig_query;
    ?>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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