Blog

Comment installer une pagination wordpress sans plugin


Pagination wordpress

WordPress vient en natif avec une pagination peu utile « <<page précédente page suivante>> » . Si un jour vous décidez de mettre en ligne beaucoup de contenus ou tout simplement d’améliorer l’expérience utilisateur sur votre site wordpress, Seo Rank vous conseille de remplacer ces liens désuets par une navigation numérotée

Par exemple Ma- montre annonce est l’un de nos sites qui utilise ce modèle de pagination wordpress, et dans cet article nous tenterons de vous exposer la méthode qui va vous permettre d’installer ce type de navigation wordpress sur votre site ou blog.

Masi pourquoi devriez-vous utiliser une navigation wordpress numérotée ?

Parce qu’elle rend la navigation sur votre site plus facile et permet à vos visiteurs d’avoir un aperçu rapide sur le nombre de postes et articles publiés sans avoir à tous les parcourir, et par conséquent, elle contribue à l’amélioration de l’expérience utilisateur sur votre site.

Les étapes qui suivent vont vous guider dans l’installation de votre pagination wordpress sans avoir recourt à un plug-in ou extension.

Étape 1 : Insérez cette fonction dans votre thème wordpress

$pages => récupère le nombre de pages

$paged => récupère le numéro de la page courante

$range=> représente l’écart de pagination

function pressPagination($pages = '', $range = 2)
{
	global $paged;
	$showitems= ($range * 2)+1;

	if(empty($paged)) $paged = 1;
	if($pages == '')
	{
		global $wp_query;
		$pages = $wp_query->max_num_pages;
		if(!$pages)
		{
           		$pages = 1;
		}
	}

	if(1 != $pages)
	{
		echo "<div class='pagination'>";
		if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>&laquo;</a>";
		if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>&lsaquo;</a>";
		
		for ($i=1; $i <= $pages; $i++)
		{
			if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
			{
				echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
			}
		}

		if ($paged < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($paged + 1)."'>&rsaquo;</a>";
       	if ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>&raquo;</a>";
       	echo "</div>n";
   	}

}

Étape 2 : Insérez le css suivant dans votre feuille de style pour rendre votre pagination plus attrayante :

.pagination {
clear:both;
position:relative;
padding:15px 10px;
font-size:12px;
line-height:13px;
}

.pagination span, .pagination a {
width:auto;
display:block;
float:left;
margin: 2px 2px 2px 0;
padding:6px 9px 5px 9px;
text-decoration:none;
color:#fff;
background: #555;
}

.pagination .current{
padding:6px 9px 5px 9px;
background: #3279BB;
color:#fff;
}

.pagination a:hover{
color:#fff;
background: #3279BB;
}

Étape 2 : afficher la pagination

Maintenant pour afficher la pagination wordpress, il vous suffit de faire appel à la fonction pressPagination en insérant tout simplement cette ligne de code à l’endroit ou vous souhaitez que votre pagination s’affiche :

function pressPagination($pages ='', $range = 2) ;

Dans cette fonction vous pouvez personnaliser l’écart de pagination via la variable $range, c’est-à-dire le nombre de liens qui qui doivent s’afficher avant et après la page courante juste avant les symboles « suivant » et « précédent » :

Si vous n’êtes pas très à l’aise avec PHP, nous vous proposons d’installer ce plug-in qui fait exactement la même chose que la méthode présenté plus haut.


19 avril 2013
Commentaires
  1. Harzoune said on 16 septembre 2013 11 h 06 min:

    Ça c’est du bon boulot ! Merci ! 😀

  2. darknote said on 5 mars 2014 19 h 17 min:

    bonsoir,

    je bloque juste au niveau du code pour afficher la pagination, n’étant pas codeur, on fait comment? On rajoute au codeur présent dans le thème ou elle remplace l’autre code?

    Faut il mettre des balises autour du code ?

    Merci

    1. Seo Rank said on 6 mars 2014 21 h 14 min:

      Bonjour darknote, vous pouvez tout simplement remplacer le code qui fait appel à l’ancienne fonction de pagination. Ce code étant du php, il doit être inséré dans des balises du type < ?php ?>

  3. Sébastien said on 24 octobre 2016 23 h 48 min:

    Merci pour beaucoup pour le code, c’est pratique sur certains thèmes qui présentent des « bugs » de structure…