我正在尝试创建一个分页的帖子列表,并使用Codex编写了一些代码,但我似乎做错了什么。
这些是我的wp_query
参数
$paged = ( get_query_var( \'paged\' ) ) ? get_query_var( \'paged\' ) : 1;
$the_query = new WP_Query(
array
(
\'posts_per_page\' => 5,
\'post_type\' => \'post\',
\'paged\' => $paged
)
);
的内容
$paged
输出是否为
1
这是意料之中的
我添加了next_posts_link
给我的if
声明,但没有显示。
if ( $the_query->have_posts() ) {
previous_posts_link( \'« Newer Entries\' );
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo \'<div class="news-item">\';
// post stuff here
echo \'</div>\';
}
next_posts_link( \'Older Entries »\', 0 );
}
编辑显示此内容的页面不是首页,而是我创建的静态页面。我创建了
page-news.php
然后创建了一个名为“News”的页面,并将其放置在代码所在的位置。这可能是原因吗?
SO网友:jgraup
这对我来说是一个使用模板的单一页面。只需确保设置next_posts_link( \'Older Entries »\', $the_query->max_num_pages );
.
// set the "paged" parameter (use \'page\' if the query is on a static front page)
$paged = ( get_query_var( \'paged\' ) ) ? get_query_var( \'paged\' ) : \'1\';
$args = array (
\'nopaging\' => false,
\'paged\' => $paged,
\'posts_per_page\' => \'5\',
\'post_type\' => \'post\',
);
// The Query
$query = new WP_Query( $args );
// The Loop
if ( $query->have_posts() ) {
previous_posts_link( \'« Newer Entries\' );
while ( $query->have_posts() ) {
$query->the_post();
echo \'<div class="news-item">\';
// post stuff here
echo \'<h1 class="page-title screen-reader-text">\' . the_title() . \'</h1>\';
echo \'</div>\';
}
next_posts_link( \'Older Entries »\', $query->max_num_pages );
} else {
// no posts found
echo \'<h1 class="page-title screen-reader-text">No Posts Found</h1>\';
}
// Restore original Post Data
wp_reset_postdata();