nurise
@nurise
Front-end, WordPress, Design

Как сделать пагинацию в WordPress с кастомным выводом?

Посты выводятся на отдельной странице вида blog.html - это важно
Ссылка Older Entries выводится, делает переход на страницу /blog.html/page/2, но не меняет пост и дальше урл не меняет, хотя постов больше, чем 10.
Как правильно сделать пагинацию в таком случае?

<?php

$paged = ( get_query_var('page') ) ? get_query_var('page') : 1;

$args = array(
          'post_type' => 'post',
          'posts_per_page' => 1,
          'paged' => $paged
);

$the_query = new WP_Query( $args );

?>

/* тут вывод постов */

<?php if ($the_query->max_num_pages > 1) { // check if the max number of pages is greater than 1  ?>
            <nav class="prev-next-posts">
              <div class="prev-posts-link">
                <?php echo get_next_posts_link( 'Older Entries', $the_query->max_num_pages ); // display older posts link ?>
              </div>
              <div class="next-posts-link">
                <?php echo get_previous_posts_link( 'Newer Entries' ); // display newer posts link ?>
              </div>
            </nav>
          <?php } ?>
  • Вопрос задан
  • 455 просмотров
Решения вопроса 1
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
попробуй так:
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;


если не поможет, попробуй еще переопределить $wp_query

$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;

$args = array(
          'post_type' => 'post',
          'posts_per_page' => 1,
          'paged' => $paged
);

$the_query = new WP_Query( $args );

$temp_query = $wp_query;
$wp_query   = NULL;
$wp_query   = $the_query;

....
<?php echo get_next_posts_link( 'Older Entries', $the_query->max_num_pages ); // display older posts link ?>
    <?php echo get_previous_posts_link( 'Newer Entries' ); // display newer posts link ?>

....
$wp_query = NULL;
$wp_query = $temp_query;


подробнее про переопределение тут: wordpress.stackexchange.com/questions/120407/how-t...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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