web-dev-qa-db-fra.com

Question de pagination -/page/2 404

J'ai un type de message personnalisé avec sa propre page d'archive. Je lance une boucle personnalisée, affichant 1 résultat. J'essaie de paginer ces résultats, mais j'ai des problèmes étranges que je n'arrive pas à comprendre.

Voici mon WP_Query:

$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$args = array(
    'post_type'         => 'news-events',
    'posts_per_page'    => 1,
    'order'             => 'desc',      
    'paged'             => $paged
);
$the_query = new WP_Query( $args );

if ( $the_query->have_posts() ) :
    while ( $the_query->have_posts() ) : $the_query->the_post();

Voici le code que j'utilise pour faire les liens en avant et en arrière:

if ( $the_query->max_num_pages > 1 ) : // check if the max number of pages is greater than 1  ?>
    <nav class="prev-next-posts">
        <div class="prev-posts-link">
            <?php echo get_next_posts_link( '« Previous', $the_query->max_num_pages ); // display older posts link ?>
        </div>
        <div class="next-posts-link">
            <?php echo get_previous_posts_link( 'Newer »' ); // display newer posts link ?>
        </div>
    </nav>
<?php endif; ?>

Les liens en cours de création semblent corrects: mysite.com/news-events/page/2/ mais ces 404. Ce qui est étrange, c’est que, si je change définitivement ce lien de mysite.com/news-events/page/2/ à mysite.com/news-events/page/1/ qui redirige vers `mysite.com/news-events/.

J'ai essayé de ré-enregistrer ma structure de permalien et de la changer. J'ai essayé de désactiver les plugins, etc., je suis vraiment à court d'idées!

Toute aide est appréciée, merci.

1
Daniel Dewhurst

Pieter avait raison.

C'était gâché par la boucle personnalisée que je courais sur la page d'archive. J'ai supprimé la boucle personnalisée, puis ajusté les arguments avec pre_get_posts.

La chose étrange était que, pour vérifier s'il s'agissait de ce problème, exécuter une boucle personnalisée sur une page d'archive était le problème. J'ai supprimé la page d'archive et créé une page normale avec la boucle personnalisée. Le problème était identique.

Je ne suis pas sûr de savoir comment cela s'est passé, j'étais probablement en train de faire autre chose de mal.

Néanmoins, la pagination fonctionne maintenant sur ma page d'archive, avec la boucle principale modifiée.

1
Daniel Dewhurst