it-swarm.dev

Paginazione con 5 post per pagina

Sto cercando di creare un elenco di post impaginato e ho usato il codice per scrivere del codice, ma sembra che stia facendo qualcosa di sbagliato.

Questi sono i miei argomenti 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
                    )
            );

Il contenuto di $paged viene emesso come 1 che sarebbe previsto

Ho aggiunto next_posts_link alla mia if statement ma non lo mostrano.

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 );
            }

MODIFICARE

La pagina in cui questo mostra non è una pagina principale, ma è una pagina statica che ho creato. Ho creato il template page-news.php e poi ho creato una pagina chiamata 'News' e che è dove questo codice risiede. Potrebbe essere questa la ragione?

3
user1486133

Questo funziona per me su una singola pagina utilizzando un modello. Assicurati di impostare 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