我在向单个帖子添加下一个和上一个链接时遇到问题(我不想发布下一篇文章,我需要下一组帖子)。
网站的工作方式是,当前帖子显示在页面顶部,下面显示所有相关帖子的列表,并带有分页。显示相关帖子的查询是:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'category__in' => $search_categories,
'posts_per_page' => 4,
'paged' => $paged
);
$search_term = null;
if ( isset( $_GET['search_term'] ) ) {
$args['s'] = esc_attr( $_GET['search_term'] );
}
$twp_query = new WP_Query( $args );
我知道查询返回了足够的帖子。
这是循环(剥离了所有标记)
if ( $twp_query->have_posts() ) {
while ( $twp_query->have_posts() ) {
$twp_query->the_post();
get_template_part( 'post', 'listitem' );
}
next_posts_link('Next', $twp_query->max_num_pages);
previous_posts_link('Previous ', $twp_query->max_num_pages);
} else {
_e( 'Apologies, but no results were found.', 'rep' );
}
显示返回的前4个项目,但不显示下一个和上一个帖子链接。
我很感激任何帮助,因为这个让我难过!
更新
刚尝试添加'nopaging'=>错误的args数组,没有运气。
另一个更新:
在wp-includes / link-template.php中查看WordPress中的get_next_posts_link,并从这段代码判断,这是不可能的。除非别人知道不同吗?
if ( !is_single() && ( $nextpage <= $max_page ) ) {
$attr = apply_filters( 'next_posts_link_attributes', '' );
return '<a href="' . next_posts( $max_page, false ) . "\" $attr>" . preg_replace('/&([^#])(?![a-z]{1,8};)/i', '&$1', $label) . '</a>';
}
答案 0 :(得分:0)
我将自己回答这个问题,由于WordPress的核心,它不可能,任何返回true的页面都被阻止显示下一个和上一个帖子链接,例如:
if ( !is_single() && ( $nextpage <= $max_page ) ) {
$attr = apply_filters( 'next_posts_link_attributes', '' );
return '<a href="' . next_posts( $max_page, false ) . "\" $attr>" . preg_replace('/&([^#])(?![a-z]{1,8};)/i', '&$1', $label) . '</a>';
}