WordPress用户您好,
我在建立wordpress网站时遇到了一个问题,我不知道该怎么办。
目前,我正在“新闻”页面上显示2篇来自“新闻”类别的帖子。在这个页面的底部,我想要一个上一页/下一页按钮,显示同一类别的下一篇或前两篇文章。
所以我在想我该怎么做。所以我找到了这个代码:
previous_posts_link(\'Newer Entries »\')
next_posts_link(\'« Older Entries\');
这显示了一个我所期望的链接。但两个链接都不起作用(页面重新加载,但显示相同的条目)。
我还发现了这个in this codex:
posts_nav_link(\'∞\',\'Go Forward In Time\',\'Go Back in Time\');
此外,在“设置”>“阅读”中,我将最大帖子数设置为2。
我不知道该怎么办。当按下“next”(下一步)或“Prev”(上一步)按钮时,是否有方法显示同一类别的下2篇(或“X”)帖子?
谢谢
编辑:这是我获取帖子的方式:
$args_news= array(
\'cat\' => 1,
\'posts_per_page\' => 2,
\'orderby\' => \'post_date\',
\'order\' => \'DESC\'
);
query_posts( $args_news );
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
the_title();
the_content();
endwhile;
endif;
但我仍然不知道如何才能把这篇文章做成页面。当前显示最近2篇帖子。。
最合适的回答,由SO网友:dipali 整理而成
通过Paged
进入参数数组query_posts
您应该设置get_query_var( \'paged\' );
如果希望查询使用分页。
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$args_news= array(
\'cat\' => 1,
\'posts_per_page\' => 2,
\'orderby\' => \'post_date\',
\'order\' => \'DESC\',
\'numberposts\' => -1,
\'paged\' => $paged,
);
query_posts( $args_news );
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
the_title();
the_content();
endwhile;
endif;
有关更多信息:
https://codex.wordpress.org/Pagination
SO网友:tfrommen
你们都必须使用paged
查询循环的var,以及max_num_pages
链接的var:
$news_args = array(
\'cat\' => 1,
\'paged\' => get_query_var(\'paged\'),
\'posts_per_page\' => 1,
\'orderby\' => \'post_date\',
\'order\' => \'DESC\',
);
$news_query = new WP_Query($news_args);
if ($news_query->have_posts()) :
while ($news_query->have_posts()) : $news_query->the_post();
the_title();
the_content();
endwhile;
previous_posts_link(\'prev\', $news_query->max_num_pages);
echo \' — \';
next_posts_link(\'next\', $news_query->max_num_pages);
endif;