WordPress Prev和Next不适用于自定义帖子类型

时间:2018-02-19 14:54:15

标签: php wordpress pagination custom-post-type

我有一个自定义帖子类型,我不希望帖子单独显示,所以我设置,

'publicly_queryable' => false,
'rewrite' => array('slug' => 'custom-page-slug'),

然后我在页面上有以下查询:

<?php 
$paged = 2;
$args = array( 'post_type' => 'sample_post_type', 'posts_per_page' => 2, 'paged' => $paged, order => "DESC" );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
  echo '<h2>' . esc_html( get_the_title() ) . '</h2>';
  echo '<div class="entry-content">';
  the_content();
  echo '</div>';
endwhile;
?>

我的问题是,当我尝试使用get_next_posts_link()get_previous_posts_link()时,他们只是链接到同一页面(他们不会转到page/2page/1) 。

以下是我的上一页和下一页链接的代码:

        <?php if ($loop->max_num_pages > 1) { // check if the max number of pages is greater than 1  ?>
            <div class="clearfix prev-next-arrows">
                <nav class="prev-next-posts">
                    <div class="next-posts-link">
                        <?php echo get_next_posts_link( 'Next Page &raquo;', $query->max_num_pages ); // display older posts link ?>
                    </div>
                    <div class="prev-posts-link">
                        <?php echo get_previous_posts_link( '&laquo; Previous Page' ); // display newer posts link ?>
                    </div>
                </nav>
            </div>
        <?php } ?>

任何人都知道我目前的设置会出现什么问题?

由于

2 个答案:

答案 0 :(得分:0)

我认为您应该使用echo get_next_posts_link(...)echo get_previous_posts_link(...)代替next_posts_link(...)previous_posts_link(...)(不使用echo而不使用get_部分,至少它是如何在我的网站上运作的。

此外,在定义参数之前,请插入此行(而不是$paged = 2;):

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

答案 1 :(得分:0)

我明白了。我在自定义帖子类型args中有以下内容:

'rewrite' => array('slug' => 'post-type-slug')

与我在循环上的页面相同的slug