web-dev-qa-db-ja.com

1ページに5件の投稿のページ付け

私は記事のページ区切り付きリストを作成しようとしていて、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として出力されます。

ifステートメントにnext_posts_linkを追加しましたが、表示されません。

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」というページを作成し、それがこのコードが存在する場所にあることを確認しました。それが理由でしょうか。

3
user1486133

これは私にとってテンプレートを使用して単一のページで機能しています。必ず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();
4
jgraup