0

1つの投稿に次のリンクと前のリンクを追加する際に問題が発生しました(次の投稿は必要ありません。次の一連の投稿が必要です)。

サイトの動作は、現在の投稿がページの上部に表示され、関連するすべての投稿のリストがページ付けとともに下に表示されます。関連する投稿を表示するためのクエリは次のとおりです。

$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'=>falseをargs配列に追加してみました。運がありません。

別の更新:

wp-includes / link-template.phpのget_next_posts_linkのWordPressを見て、このコードブロックから判断すると、それは不可能です。他の誰かが違うことを知らない限り?

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>';
}
4

1 に答える 1

0

私はこれに自分で答えるつもりです、WordPressのコアのためにそれは不可能です、is_singleに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>';
}
于 2012-11-16T13:19:15.673 に答える