我有一个归档页面,可以使用WP_Query()
. 在该网站的主页上,它显示了16个自定义帖子类型的帖子,因此在存档中,我将存档页面偏移了16个帖子。
其代码为:
$newsArticles = new WP_Query(array(
\'posts_per_page\' => 16,
\'offset\' => 16,
\'post_type\'=> \'news\'
));
while( $newsArticles->have_posts()){
$newsArticles->the_post(); ?>
// HTML
<?php } ?>
但是,在此存档页面上
<?php echo paginate_links();?>
显示分页页面的函数不起作用。当我点击页码或使用下一个和上一个箭头时,它只是在每页上显示相同的帖子。
我使用的分页代码是:
<p>
<?php echo paginate_links(array(
\'prev_text\' => \'NEWER\',
\'next_text\' => \'OLDER\',
));?>
</p>
有人知道我是如何使用分页的吗
WP_Query()
所有物
offset
那么归档分页的行为与普通归档页面(带分页)类似吗?
SO网友:Awais
WP\\U查询docs 提供有关偏移参数的警告:设置偏移参数将覆盖/忽略分页参数并中断分页
尝试以下操作:
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$newsArticles = new WP_Query(array(
\'posts_per_page\' => 16,
\'post_type\'=> \'news\',
\'paged\' => $paged,
));
while( $newsArticles->have_posts()){
$newsArticles->the_post(); ?>
// HTML
<?php } ?>
$big = 999999999; // need an unlikely integer
echo paginate_links( array(
\'base\' => str_replace( $big, \'%#%\', esc_url( get_pagenum_link( $big ) ) ),
\'format\' => \'?paged=%#%\',
\'current\' => max( 1, get_query_var(\'paged\') ),
\'total\' => $newsArticles->max_num_pages
) );
查看paginate\\u链接的更多示例
here: