Comment ajouter la pagination dans WordPress pour remplacer la navigation Précédent/Suivant

Si vous décidez de commencer un blog WordPress, le paramètre par défaut pour les pages d’archives de pagination de WordPress est Précédent/Suivant. Ce paramètre est suffisant pour la plupart des gens qui n’y penseraient probablement pas à deux fois. Mais si vous êtes du genre exigeant qui aime peaufiner chaque petit détail, vous voudrez peut-être que vos pages affichent des numéros de page à la place.
Si tel est le cas, vous avez deux options. Vous pouvez soit modifier le code, soit opter pour la solution facile et utiliser un plugin.
Table des matières
- Ajouter la pagination à un blog WordPress sans plugin
- Puis-je diviser un seul article ou une seule page WordPress en plusieurs pages ?
- Utiliser un plugin WordPress pour remplacer Précédent/Suivant par des numéros
Ajouter la pagination à un blog WordPress sans plugin
Si l’idée d’utiliser encore un autre plugin n’est pas très attrayante (car ils ralentissent votre site après tout), alors vous pouvez décider que modifier le code est la meilleure solution. Ce n’est en réalité pas si difficile si vous savez où chercher. Si vous ne le savez pas, nous allons vous montrer.
Tout d’abord, vous avez besoin d’un programme FTP. C’est tout simplement un programme qui se connecte à votre site Web et affiche les fichiers du site. Le plus populaire est FileZilla, mais vous pouvez utiliser celui que vous souhaitez. Personnellement, j’utilise CyberDuck. Les deux sont gratuits, mais CyberDuck a un popup ennuyeux pour faire un don au développeur.
Connectez-vous à votre site en utilisant votre programme FTP et vous verrez les fichiers.

Maintenant, cherchez un fichier appelé functions.php. Il se trouve dans le dossier de votre thème qui est généralement situé à /wp-content/themes/NOM DU THÈME. Ouvrez le fichier functions.php avec un éditeur de texte et ajoutez ce qui suit à la fin du fichier. N’oubliez pas d’enregistrer les modifications du fichier par la suite.
function numeric_posts_nav(){
if( is_singular())
return;
global$wp_query;
/** Arrêter l'exécution s'il n'y a qu'une seule page */
if($wp_query->max_num_pages<=1)
return;
$paged= get_query_var('paged') ? absint( get_query_var('paged')):1;
$max=intval($wp_query->max_num_pages);
/** Ajouter la page actuelle au tableau */
if($paged>=1)
$links[]=$paged;
/** Ajouter les pages autour de la page actuelle au tableau */
if($paged>=3){
$links[]=$paged-1;
$links[]=$paged-2;
}
if(($paged+2)<=$max){
$links[]=$paged+2;
$links[]=$paged+1;
}
echo'
'."\n";
/** Lien de l'article précédent */
if( get_previous_posts_link())
printf('
%s
'."\n", get_previous_posts_link());
/** Lien vers la première page, plus des points de suspension si nécessaire */
if(!in_array(1,$links)){
$class=1==$paged ? ' class="active"':'';
printf('%s'."\n",$class, esc_url( get_pagenum_link(1)),'1');
if(!in_array(2,$links))
echo'
…
';
}
/** Lien vers la page actuelle, plus 2 pages dans chaque direction si nécessaire */
sort($links);
foreach((array)$linksas$link){
$class=$paged==$link ? ' class="active"':'';
printf('%s'."\n",$class, esc_url( get_pagenum_link($link)),$link);
}
/** Lien vers la dernière page, plus des points de suspension si nécessaire */
if(!in_array($max,$links)){
if(!in_array($max-1,$links))
echo'
…
'."\n";
$class=$paged==$max ? ' class="active"':'';
printf('%s'."\n",$class, esc_url( get_pagenum_link($max)),$max);
}
/** Lien de l'article suivant */
if( get_next_posts_link())
printf('
%s
'."\n", get_next_posts_link());
echo'
'."\n";
}Ensuite, ouvrez le fichier où la pagination est affichée. C’est généralement le fichier index.php et archive.php. Collez le code suivant pour afficher la pagination.