Cette extension n’a pas été testée avec plus de trois mises à jour majeures de WordPress. Elle peut ne plus être maintenue ou supportée et peut avoir des problèmes de compatibilité lorsqu’elle est utilisée avec des versions de WordPress plus récentes.

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;
}

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

17 août 2023
Simples e totalmente funcional. Resolvendo o problema de paginação com extrema facilidade. Parabéns aos devs.
22 novembre 2022
I am using this plugin + Divi. It works just fine, but there is a bug with the slugs of the pages and the post types. If you have, for example, a post type with the slug « speakers » and your page is also call « speakers », both slugs will be the same and this is causing the plugin to break. Most people on the internet are looking for this error as the page/2 error. Be sure the slugs does not match and it will work just fine.
17 août 2022
A simple and excellent plugin. The display of the blog list becomes much smarter, so it is very useful. Currently, I’ve been using in combination with « Styles For WP Pagenavi Addon ».
24 juin 2022
Pure code and so simple to customize. The simplest plugin I ever installed. A couple of minutes to get it working. Couldn’t be happier 🙂 I only added this snippet to replace my Woocommerce pagination: remove_action('woocommerce_pagination', 'woocommerce_pagination', 10); function woocommerce_pagination() { wp_pagenavi(); } add_action( 'woocommerce_pagination', 'woocommerce_pagination', 10);
9 mai 2022
Thanks for that plugins I use till long years to add a navigation bar box inside my blog including more than 2000 entries 😉
Lire les 146 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