Pagination des articles sous WordPress

393{icon} {views}

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 :

Articles connexes

There are 2 comments for this article
  1. vince at 11:31

    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

    • Guillaume at 4:35

      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.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.