WP-PageNavi

Descrizione

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

This plugin provides the wp_pagenavi() template tag which generates fancy pagination links.

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

Stato build

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

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.

Leggi tutte le 135 recensioni

Contributori & Sviluppatori

“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 38 lingue. Grazie ai traduttori per i loro contributi.

Traduci “WP-PageNavi” nella tua lingua.

Interessato allo sviluppo?

Sfoglia il codice, accedi al repository SVN, oppure iscriviti al log di sviluppo tramite RSS.

Changelog

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