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). »‘>« Première page</a> »;
if($paged > 1 && $showitems < $pages) echo « <a href=' ».get_pagenum_link($paged – 1). »‘>‹</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). »‘>›</a> »;
if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo « <a href=' ».get_pagenum_link($pages). »‘>Dernière page »</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é!