Pagination des articles sous WordPress
Quand vous souhaitez limiter l'affichage de vos articles par lot de 3, il faudra lancer une requête adaptée avant la boucle des articles, puis utiliser la fonction adéquate pour afficher les liens de pagination. Dans cet exemple, j'utilise la fonction the_posts_pagination().
Comme je n'ai trouvé aucun code complet, simple et fonctionnel, dans les autres recoins du Web, je propose le mien. Il peut s'agir ici du fichier index.php ou d'un autre modèle de page de votre thème WordPress :
<?php get_header() ?>
<h1>Mes articles</h1>
<?php
$args = array(
'posts_per_page' => 3,
'paged' => get_query_var('paged'),
);
query_posts($args);
while (have_posts()) : the_post();
?>
<article>
<a href="<?php the_permalink() ?>">
<h2><?php the_title() ?></h2>
<?php the_post_thumbnail('medium'); ?>
</a>
<?php the_excerpt() ?>
<a href="<?php the_permalink() ?>">Lire</a>
</article>
<?php
endwhile;
the_posts_pagination( array( 'mid_size' => 2 ) );
wp_reset_postdata();
get_footer(); ?>
On retrouve dans ce code les paramètres de la fonction query_posts() :
'posts_per_page' => 3
Affiche les articles par paquets de 3.
'paged' => get_query_var('paged')
Paramètre indispensable pour obtenir les liens de pagination corrects sur vos articles suivants, précédents, etc...
Puis enfin la fonction qui affiche les liens de pagination, à positionner après la boucle :
the_posts_pagination();
Voici le résultat :
Bonjour,
Merci pour ce code .. problème pour moi lorsque j’intègre ce code ma pagination bloque à la page 2 ... si j'affiche les pages 3, 4 etc ... je suis en 404 ... Si vous avez une idée du pourquoi, je suis preneur.
Encore merci
Bonjour,
En général les erreurs 404 sur WordPress se règlent en modifiant les Permaliens (Réglages -> Permaliens). Cela va réécrire le fichier .htaccess qui va conditionner la manière dont vont apparaître les URL.