WordPress single.php下一页和上一页

时间:2012-11-15 11:09:14

标签: php wordpress

我在向单个帖子添加下一个和上一个链接时遇到问题(我不想发布下一篇文章,我需要下一组帖子)。

网站的工作方式是,当前帖子显示在页面顶部,下面显示所有相关帖子的列表,并带有分页。显示相关帖子的查询是:

$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', '&#038;$1', $label) . '</a>';
}

1 个答案:

答案 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', '&#038;$1', $label) . '</a>';
}