Pagination – Navigation wordpress sans plugin

Pour améliorer le temps de chargement de votre blog wordpress, et donc son positionnement dans les moteurs de recherche, il faut éviter le plus possible d’utiliser des plugins.

Jusqu’ici, j’employais Page Navi, le plus téléchargés des plugins permettant d’installer en un clic une belle pagination afin de permettre un meilleur référencement, mais aussi une navigation plus aisée pour l’internaute.

Celui ne voulant pas s’installer sur notre dernière création, il a bien fallu faire autrement. Après quelques recherches, je suis tombé sur la solution.

Ouvrez la page function.php et ajoutez-y:

/** Pagination sans plugin*/

function the_pagination($pages =  », $range = 5)

{

$showitems = ($range * 2)+1;

 

global $paged;

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; Premi&egrave;re page</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). »‘>Derni&egrave;re page &raquo;</a> »;

echo « </div>\n »;

}

}

Ajoutez ensuite sur la page de votre choix (index, archive, etc) <?php the_pagination(); ?>.

Il suffit de lui assigner du CSS pour l’intégrer à merveille dans votre template wordpress.
Et c’est tout! plus de plugin, plus de mises à jour et de problème de compatibilité!

Vous avez aimez cet article ? Partagez-le !

Laisser un commentaire

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