vendredi 25 septembre 2026

À propos

Contact

Lexique · Cœur de WordPress

Pagination

En anglais : « Pagination »

La pagination découpe une longue liste d'articles renvoyée par une requête en plusieurs pages numérotées, afin d'éviter de charger des centaines de résultats.

Afficher cinq cents articles sur une seule page d’archive serait aussi peu pratique pour le visiteur que coûteux pour le serveur ; WordPress découpe donc systématiquement les résultats d’une requête par lots.

Fonctionnement dans WordPress

Le nombre d’articles par page se règle globalement dans Réglages → Lecture, ou localement via l’argument posts_per_page d’un WP_Query. Le numéro de la page courante est porté par la variable de requête paged (ou page pour une page statique paginée avec le tag <!--nextpage-->). Les fonctions the_posts_pagination() et paginate_links() génèrent les liens vers les pages suivantes et précédentes.

Exemple

$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$requete = new WP_Query( array(
    'posts_per_page' => 10,
    'paged'          => $paged,
) );

Pièges fréquents

Dans une requête personnalisée, utiliser page au lieu de paged casse silencieusement la pagination ; c’est l’une des confusions les plus signalées sur le forum support de WordPress.org, la requête principale utilisant l’un ou l’autre selon le contexte.

Bon à savoir

Sur une page trop avancée dans la pagination, WordPress renvoie normalement une page 404 plutôt qu’une liste vide, un comportement par défaut qui surprend parfois les développeurs testant leur thème avec un jeu de données limité.

Sur une page de recherche ou d’archive personnalisée, il est facile d’oublier que posts_per_page à -1 désactive totalement la pagination et charge tous les résultats d’un coup, un réglage à réserver aux petits jeux de données sous peine de ralentir fortement l’affichage.