WP-PageNavi

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">&larr;</span> Older posts', 'twentyten' ) ); ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;</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;
}

Statut de développement

Développement

Crédits

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

  • Avec du style personnalisé
  • Administration - Page des options

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).

Est-ce que PageNavi fonctionne avec les instances secondaires de WP_Query ?

Oui, lisez ce tutoriel (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

Great

An historical plugin nicely done and well conceived.

Excellent for the visitor’s comfort!

What this plugin does is something that’s really lacking with WP and most themes. So it’s great! Thank you!

Even better, I add the code given here –> https://divibooster.com/styling-wp-pagenavi-pagination-in-divi/comment-page-1/#comment-71048
It makes it even more pretty.

Lire les 135 avis

Contributeurs & développeurs

« WP-PageNavi » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.

Contributeurs

“WP-PageNavi” a été traduit dans 38 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.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