WP-PageNavi

Descrizione

Vuoi sostituire i vecchi ← Older posts | Newer posts → con quale link di pagina?

Questo plugin fornisce il tag wp_pagenavi() che genera link di impaginazione fantasiosi.

Utilizzo

Nel tuo tema devi trovare e sostituire le chiamate a next_posts_link() e previous_posts_link().

Nel tema Twentyten è così:

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

Dovrai sostituire quelle due linee con queste:

<?php wp_pagenavi(); ?>

Per le pagine con più parti il tuo codice dovrà essere come questo:

<?php wp_link_pages( ... ); ?>

e sostituiscilo con questo:

<?php wp_pagenavi( array( 'type' => 'multipart' ) ); ?>

Per la configurazione vai a WP-Admin -> Impostazioni -> PageNavi.

Modificare i CSS

Se hai bisogno di configurare i CSS di WP-PageNavi puoi copiare il file pagenavi-css.css dalla directory del plugin nella directory del tuo tema e fare le tue modifiche da lì. In questo modo non perderai le modifiche quando aggiornerai il plugin.

In alternativa puoi togliere la spunta dall’opzione “Usa pagenavi.css” nella pagina delle impostazioni e aggiungere gli stili direttamente nel file style.css del tuo tema.

Modificare i nomi delle classi

Esistono dei filtri che puoi utilizzare per cambiare i nomi della classe predefinita assegnati agli elementi della navigazione di pagina.

Filtri

  • 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

Utilizzo del filtro.

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

Sviluppo

Riconoscimenti

Donazioni

Ho passato molto del mio tempo libero creando, aggiornando, manutenendo e dando supporto per questi plugin. Se davvero ami i miei plugin e vuoi donare qualcosa lo apprezzerò.
Sentiti libero di usarlo senza nessun obbligo.

Screenshot

  • Con stile personalizzato
  • Amministrazione - Pagina opzioni

FAQ

Errore all’attivazione: “Parse error: syntax error, unexpected…”

Assicurati che il tuo host abbia PHP 5. L’unico modo certo per controllare è aggiungendo questa linea nel file wp-config.php (dopo il tag di apertura <?php):

var_dump(PHP_VERSION);

Quando vado a pagina 2 vedo ancora gli stessi articoli di pagina 1!

Stai utilizzando query_posts() nel modo sbagliato. Controlla Il modo giusto di usare query_posts()

PageNavi funziona con istanze secondarie di WP_Query?

Sì; leggi questo tutorial

Come posso fare per ignorare la pagina opzioni?

Se stai utilizzando un plugin multilingua probabilmente puoi ignorare le stringhe nella pagina opzioni.

Puoi farlo in questo modo:

<?php wp_pagenavi( array( 'options' => PageNavi_Core::$options->get_defaults() ) ); ?>

Recensioni

17 Agosto 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.
24 Giugno 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 Maggio 2022
Thanks for that plugins I use till long years to add a navigation bar box inside my blog including more than 2000 entries 😉
Leggi tutte le recensioni di 146

Contributi e sviluppo

“WP-PageNavi” è un software open source. Le persone che hanno contribuito allo sviluppo di questo plugin sono indicate di seguito.

Collaboratori

“WP-PageNavi” è stato tradotto in 53 lingue. Grazie ai traduttori per i loro contributi.

Traduci “WP-PageNavi” nella tua lingua.

Ti interessa lo sviluppo?

Esplora il Codice segui il Repository SVN iscriviti al Log delle Modifiche. Puoi farlo tramite RSS con un lettore di feed.

Changelog (registro delle modifiche)

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

  • FIXED: Update SCB Framework To Support PHP 8

2.93.3

  • FIXED: Update SCB Framework To Remove contextual_help

2.93.2

  • NEW: Bumped to WordPress 5.4
  • FIXED: Ensure Action Links is always an array

2.93.1

  • FIXED: Duplicated Settings Saved admin_notices

2.93

  • Remove screen_icon from SCB.

2.92

  • Add title attr to pages link. Props @Mahjouba91.

2.91

  • Convalida opzione di testo con kses
  • Aggiorna SCB Framework

2.90

  • Rimuovi i file po/mo dal plugin
  • Usa translate.wordpress.org per tradurre il plugin

2.89.1

  • RISOLTO: before e after args

2.89

  • novità: opzione wrapper_tag per permettere ad altri tag HTML oltre a DIV e all’opzione wrapper_class di utilizzare altri nomi di classe oltre a wp-pagenavi. Con il sostegno di @Mahjouba91.

2.88

  • novità: Aggiunti filtri per alterare i nomi delle classi. Con il contributo di @bookwyrm

2.87

  • novità: Usa uninstall.php nativo di WordPress

2.86

  • novità: spostato a 4.0
  • novità: Aggiunto rel=next e rel=previous

2.85

  • risolto: Utilizza pagenavi-css.css” & “Mostra sempre la navigazione di pagina” che impedisce il salvataggio delle opzioni

2.84

  • risolto: aggiornato framework scb per risolvere l’errore di incompatibilità scbAdminPage

2.83

  • aggiunto il parametro echo
  • aggiunte le traduzioni in estone e bengalese
  • scbFramework aggiornato

2.82

  • risolto prev/next che non compaiono in alcune situazioni
  • aggiunte le traduzioni in ebreo, georgiano e azero
  • scbFramework aggiornato

2.81

  • richiede un tipo esplicito; risolve bug con le pagine multi parte

2.80

  • supporto per pagine multi parte e query utente
  • spostati i link prev/next before/after first/last
  • maggiori informazioni

2.74 (2011-02-17)

  • aggiunte le classi ‘smaller’ e ‘larger’
  • aggiunto l’arg $query a wp_pagenavi()
  • traduzioni aggiornate
  • maggiori informazioni