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

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 (schermate di esempio)

  • 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

A must use

Work nicely out of the box. Can also be used with custom code / queries.

I use this everywhere.

Perfect

Works perfectly. Appreciate the customization options provided. Easy to style with CSS as well.

Great

An historical plugin nicely done and well conceived.

Leggi tutte le recensioni di 131

Crediti e riconoscimenti

“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 40 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.

Change log (registro delle modifiche)

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