Description
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.
Captures d’écran
FAQ
-
Error on activation: « Parse error: syntax error, unexpected… »
-
Vérifiez que votre hébergeur utilise PHP5. La seule façon sécurisée de le faire est d’ajouter cette ligne au fichier wp-config.php (après la balise ouvrante
<?php
) :var_dump(PHP_VERSION);
-
Quand je vais sur la page 2, je vois les mêmes articles que sur la page 1 !
-
Vous utilisez
query_posts()
de la mauvaise manière. Consultez « La bonne manière d’utiliser query_posts() » (en anglais). -
Comment ignorer la page d’options ?
-
Si vous utilisez une extension multilingue, vous voudrez probablement ignorer les chaînes dans la page des options.
Vous pouvez le faire de cette manière :
<?php wp_pagenavi( array( 'options' => PageNavi_Core::$options->get_defaults() ) ); ?>
Avis
Contributeurs/contributrices & développeurs/développeuses
« WP-PageNavi » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.
Contributeurs“WP-PageNavi” a été traduit dans 53 locales. Remerciez l’équipe de traduction pour ses contributions.
Traduisez « WP-PageNavi » dans votre langue.
Le développement vous intéresse ?
Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.
Journal
2.94.1
- FIXED: PHP 8.2 warnings
2.94.0
- NEW: Add args param on wp_pagenavi filter. Props @asadowski10
- NEW: Improve accessibility of nav links. Props @carlabobak
2.93.4
- CORRIGÉ : Mise à jour de SCB Framework pour prendre en charge PHP 8
2.93.3
- CORRIGÉ : Mise à jour de SCB Framework pour retirer contextual_help
2.93.2
- NOUVEAU : Passage à WordPress 5.4
- CORRIGÉ : Vérification que les liens d’actions sont bien un tableau
2.93.1
- CORRIGÉ : Réglages dupliqués enregistrés admin_notices
2.93
- Retrait de screen_icon de SCB.
2.92
- Ajout de l’attribut de titre aux liens de pages. Merci à @Mahjouba91.
2.91
- Validation des options textuelles avec kses
- Mise à jour du framework SCB
2.90
- Retrait des fichiers po/mo de l’extension
- Utilisation de translate.wordpress.org pour traduire l’extension
2.89.1
- Résolu : argument avant et après
2.89
- Nouveauté : l’option wrapper_tag permet d’utiliser d’autres balises HTML et classes CSS au delà de DIV et .wp-pagenavi. Merci à @Mahjouba91.
2.88
- Nouveauté : Filtres ajoutés pour changer le nom des classes. Merci à @bookwyrm.
2.87
- Nouveauté : Utilisation de uninstall.php natif à WordPress.
2.86
- Nouveauté : Passage à la version 4.0.
- Nouveauté : Ajout de rel=next et rel=previous.
2.85
- Résolu : « Utiliser pagenavi-css.css » & « Toujours afficher la navigation WP-PageNavi » n’étaient pas enregistrés dans les options.
2.84
- Résolu : Le framework scb a été mis à jour pour corriger les erreurs de compatibilité avec scbAdminPage.
2.83
- Paramètre « echo » ajouté.
- Ajout des traductions en Estonien et en Bengali.
- Mise à jour de scbFramework
2.82
- Résolution des cas où les liens prev/next n’apparaissaient pas.
- Ajout de traductions en Hébreu, en Géorgien et en Azéri.
- Mise à jour de scbFramework
2.81
- Un fichier explicite est requis ; des bugs sont corrigés avec les pages en plusieurs parties.
2.80
- Compatibilité avec les pages en plusieurs parties et les requêtes utilisateurs.
- Déplacement des liens prev/next avant et après les premiers/derniers liens.
- Plus d’informations.
2.74 (2011-02-17)
- Classes « smaller » et « larger » ajoutées.
- Ajout de l’argument $query à wp_pagenavi().
- Mise à jour des traductions
- Plus d’informations