WP-PageNavi
Vous souhaitez remplacer les « vieux » liens ← Articles plus anciens | Articles plus récents → avec une pagination avancée ?
Cette extension fournit le marquer de modèle wp_pagenavi()
qui permet de générer de jolis liens de pagination.
Utilisation
Dans votre thème, vous devez trouver next_posts_link() et previous_posts_link() puis les remplacer.
Dans le thème TwentyTen, cela ressemble à ça :
<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">←</span> Older posts', 'twentyten' ) ); ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">→</span>', 'twentyten' ) ); ?></div>
Vous devriez remplacer ces deux lignes par celle-ci :
<?php wp_pagenavi(); ?>
Pour les pages en plusieurs parties, vous devriez chercher un code comme celui-ci :
<?php wp_link_pages( ... ); ?>
pour le remplacer par ça :
<?php wp_pagenavi( array( 'type' => 'multipart' ) ); ?>
Allez à Tableau de bord -> Réglages -> PageNavi pour la configuration.
Changer le CSS
Si vous avez besoin de modifier le CSS de WP-PageNavi, vous pouvez copier le fichier pagenavi-css.css
depuis le répertoire de l’extension vers celui de votre thème et y faire vos modifications. Cela vous évitera de perdre les modifications à la mise à jour de l’extension.
Alternativement, vous pouvez décocher l’option « Utiliser pagenavi-css.css » depuis la page des réglages et directement ajouter le style à votre fichier style.css.
Changer le noms des classes
Il y a des filtres qui peuvent être utilisés pour changer le nom des classes par défaut qui sont assignés aux éléments de navigation des pages.
Filtres
wp_pagenavi_class_pages
wp_pagenavi_class_first
wp_pagenavi_class_previouspostslink
wp_pagenavi_class_extend
wp_pagenavi_class_smaller
wp_pagenavi_class_page
wp_pagenavi_class_current
wp_pagenavi_class_larger
wp_pagenavi_class_nextpostslink
wp_pagenavi_class_last
Utilisation des filtres
// Simple Usage - 1 callback per filter
add_filter('wp_pagenavi_class_previouspostslink', 'theme_pagination_previouspostslink_class');
add_filter('wp_pagenavi_class_nextpostslink', 'theme_pagination_nextpostslink_class');
add_filter('wp_pagenavi_class_page', 'theme_pagination_page_class');
function theme_pagination_previouspostslink_class($class_name) {
return 'pagination__control-link pagination__control-link--previous';
}
function theme_pagination_nextpostslink_class($class_name) {
return 'pagination__control-link pagination__control-link--next';
}
function theme_pagination_page_class($class_name) {
return 'pagination__current-page';
}
// More Concise Usage - 1 callback for all filters
add_filter('wp_pagenavi_class_previouspostslink', 'theme_pagination_class');
add_filter('wp_pagenavi_class_nextpostslink', 'theme_pagination_class');
add_filter('wp_pagenavi_class_page', 'theme_pagination_class');
function theme_pagination_class($class_name) {
switch($class_name) {
case 'previouspostslink':
$class_name = 'pagination__control-link pagination__control-link--previous';
break;
case 'nextpostslink':
$class_name = 'pagination__control-link pagination__control-link--next';
break;
case 'page':
$class_name = 'pagination__current'
break;
}
return $class_name;
}
Développement
Crédits
- Icône de l’extension réalisée par SimpleIcon de Flaticon.
Dons
J’ai passé beaucoup de mon temps libre à la création, mise à jour et au support de cette extension. Si vous l’appréciez et pouviez me donner quelques dollars, ce serait appréciable. Si ce n’est pas le cas, n’hésitez pas à utiliser cette extension sans aucune obligation.