Here With Me

Le blog technique d'Amaury Balmer qui parle de technologies open-source, mais surtout de WordPress !

Comment tester la présence de la pagination sous WordPress

| 3 Commentaires

Pour un projet client, j'ai dû tester la présence ou non de la navigation de . 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:

http://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 ;)

3 Commentaires

  1. Je note toutes ces infos précieuses. Merci !

  2. 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

Répondre à Arnouville et son Passé Annuler la réponse.

Champs Requis *.