←back to Blog

Comment tester la présence de la pagination sous WordPress

Pour un projet client, j’ai dû tester la présence ou non de la navigation de WordPress. Ici il ne s’agit pas de navigation entre les articles, mais celle présente dans les archives et les catégories.

Par défaut, WordPress propose la fonction is_paged(), mais elle ne correspond pas vraiment au besoin. En pratique, elle ne fait que tester si on l’est sur une page d’une vue.

Exemple sur l’adresse:

https://www.herewithme.fr/category/wordpress/page/2

La fonction is_paged() retournera la valeur true, car le numéro de page est précisé. Elle retournera false si la page est la numéro 1 !

Pour vérifier si une page précédente ou suivante existe, voilà une petite fonction à placer dans le fichier functions.php

function is_real_paged() {
global $paged, $wp_query;

if ( !$paged )
$paged = 1;

$nextpage = intval($paged) + 1;

if ( !is_single() && ( $paged > 1 || $nextpage <= $wp_query->max_num_pages ) ) {
return true;
}

return false;
}

Et voici un usage possible de cette fonction:

<?php if ( is_real_paged() ) : ?>
<div class="navigation" id="nav-bottom">
<?php previous_posts_link('&laquo; Articles plus anciens') ?> <span>|</span> <?php next_posts_link('Articles plus récents &raquo;') ?>
</div>
<?php endif; ?>

Attention au guillemet si vous copiez coller ces bouts de codes ;)

2 réponses à “Comment tester la présence de la pagination sous WordPress”

  1. Avatar de Fubiz
    Fubiz

    Je note toutes ces infos précieuses. Merci !

  2. Avatar de Arnouville et son Passé
    Arnouville et son Passé

    J’utilise le thème Yoko, et je vois ce code $wp_query->max_num_pages > 1
    à quoi sert-il ? Aucun pagination numéroter, c’est bien dommage.
    merci