WordPress : Pagination : conserver le lien précédent et suivant même sur la première/dernière page

Publié par Jean-Michel le

Sur mon index.phpj’utilise des « liens de pagination ». Je veux faire une pagination où vous avez un bouton pour le précédent, puis les numéros de page, puis un bouton pour le suivant, comme :

< PREVIOUS  1  2  3  4  [5]  6  7  8  9  NEXT >

Lorsque l’utilisateur est sur la première page, le bouton « précédent » doit être incliquable et doit avoir une couleur de fond différente de la normale.

Le problème ici est que, lorsque je suis sur la première page, tout le bouton « précédent » disparaît (idem sur la page suivante), ce qui m’empêche de regarder s’il a une classe différente pour que je puisse lui donner un style différent…

Lire également:  Wordpress : Slider Revolution, réduisant la marge gauche/le rembourrage sur mobile

Donc ce que je me demande c’est :

  1. Comment faire apparaître les boutons Précédent et Suivant sur toutes les pages (même sur la première et la dernière page) ?
  2. S’ils apparaissent, comment supprimer le lien du bouton précédent lorsque je suis sur la première page (et du bouton suivant sur la dernière page bien sûr)
Lire également:  Wordpress : WordPress ne charge pas page.php, renvoie 404.php

Mon code de pagination est :

<?php echo paginate_links( array(
    'base' => str_replace( 999, '%#%', get_pagenum_link( 999 ) ),
    'format' => '?paged=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'total' => $wp_query->max_num_pages,
    'prev_text'    => __('<div class="newspage previous">vorige</div>'),
    'next_text'    => __('<div class="newspage next">volgende</div>')
) );
?>

Solution n°1 trouvée

Ma suggestion est de créer une fonction personnalisée, basée sur le code source de paginate_links(). Plus précisément, vous devez modifier les vérifications conditionnelles suivantes afin qu’elles ignorent la position actuelle et affichent toujours le lien :

Lire également:  La connexion Wordpress a été réinitialisée ? Erreur 101

if ( $prev_next && $current && 1 < $current )pour le lien « Précédent » et

if ( $prev_next && $current && ( $current < $total || -1 == $total ) )pour le lien « Suivant ».

Vous pouvez le placer dans le fichier de votre thème functions.phpou dans un plugin et l’appeler comme vous le feriez paginate_links()(mêmes paramètres). Assurez-vous simplement de nommer la nouvelle fonction différemment ou vous obtiendrez une erreur PHP « impossible de redéclarer la fonction ».

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

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