Wordpress paginate_links 返回相同的 10 页

问题描述 投票:0回答:1

我有以下代码,问题是当单击“下一步”时,paginate_links 返回相同的 10 个结果。网址发生变化,我可以看到它计算了正确的分页,因此它知道那里有哪些帖子(事件)。我是否需要将某些内容解析到 paginate_links 数组中,以便它知道它是它正在处理的事件帖子?

<?php

 $today = date('Ymd');
          $wp_query = new WP_Query(array(
            'post_type' => 'event',
            'meta_key' => 'event_date',
            'orderby' => 'meta_value_num',
            'order' => 'ASC',
            'nopaging' => false,
            'meta_query' => array(
              array(
                'key' => 'event_date',
                'compare' => '>=',
                'value' => $today,
                'type' => 'numeric'
              )
            )
          ));
while($wp_query->have_posts()) {
            $wp_query->the_post();
            ?>
              <div class="event-summary">
                <a class="event-summary__date" href="<?php the_permalink(); ?>">
                
                <span class="event-summary__day"><?php
                $eventDate = new DateTime(get_field('event_date'));
                echo $eventDate->format('d') ?></span>  
                <span class="event-summary__month"><?php echo $eventDate->format('M') ?></span>    
                <span class="event-summary__year"><?php echo $eventDate->format('Y') ?></span>    
                </a>
                <div class="event-summary__content">
                <h5 class="event-summary__title headline headline--tiny"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h5>
                <p class="event-summary__excerpt"><?php if (has_excerpt()) {
                    echo get_the_excerpt();
                    } else {
                    echo wp_trim_words(get_the_content(), 18);
                    } ?> <a href="<?php the_permalink(); ?>" class="">Læs mere</a></p>
                </div>
            </div>
          <?php
    }

echo paginate_links(array(
        'prev_text' => '<span>« Previous</span>',
        'next_text' => '<span>Next »</span>'
      
      ));
?>
wordpress pagination custom-post-type
1个回答
0
投票

为了使查询显示下一页,您需要使用

paged
键将当前页面索引包含到查询中。当您转到下一页时,这将发生变化,有效地显示接下来的 x 篇帖子。

添加

posts_per_page
来指示 何时 下一页可用也是一个好主意。

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

$wp_query = new WP_Query(array(
  'post_type'      => 'event',
  'paged'          => $paged,
  'posts_per_page' => 5,
  'meta_key'       => 'event_date',
  'orderby'        => 'meta_value_num',
  'order'          => 'ASC',
  'nopaging'       => false,
  'meta_query'     => array(
    array(
      'key'     => 'event_date',
      'compare' => '>=',
      'value'   => $today,
      'type'    => 'numeric'
    )
  )
));
© www.soinside.com 2019 - 2024. All rights reserved.