WP-PageNavi

Descripción

¿Quieres reemplazar los viejos enlaces ← Entradas anteriores | Entradas siguientes → con enlaces a las páginas?

Este plugin dispone de la etiqueta de plantilla wp_pagenavi () que genera enlaces de paginación amigables.

Uso

En tu tema tienes que encontrar las llamadas a next_posts_link() y previous_posts_link() y reemplazarlas.

En el tema TwentyTen se ve así:

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

Deberías reemplazar esas dos líneas con esto:

<?php wp_pagenavi(); ?>

En páginas con varias partes deberías ver el código así:

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

y reemplazarlo con esto:

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

Ve a WP-Admin -> Ajustes -> PageNavi para configurarlo.

Cambiando el CSS

Si necesitas configurar los estilos CSS de WP-PageNavi puedes copiar el archivo pagenavi-css.css del directorio del plugin al directorio de tu tema y hacer ahí tus modificaciones. De este modo no perderás los cambios cuando actualices el plugin.

Si lo prefieres puedes desmarcar la opción “¿Usar pagenavi.css?” de la página de ajustes y añadir los estilos al archivo style.css de tu tema directamente.

Cambiando los nombres de las clases

Hay filtros que se pueden utilizar para cambiar los nombres por defecto de las clases asignadas a los elementos de navegación de página.

Filtros

  • 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

Uso de filtros

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

Estado de desarrollo

Desarrollo

Agradecimientos

Donaciones

He pasado la mayoría de mi tiempo creando, actualizando, manteniendo y dando soporte a estos plugins. Si de verdad te gustan mis plugins y puedes pasarme un par de pavos lo apreciaré de verdad. Si no siéntente libre de usarlo sin obligación alguna.

Capturas

  • Con estilos personalizados
  • Administración - Página de opciones

Preguntas frecuentes

Error al activarlo: “Parse error: syntax error, unexpected…”

Asegúrate de que tu alojamiento funcione con PHP 5. El único modo seguro de hacerlo es añadir esta línea a wp-confing.php (después de la etiqueta de apertura <?php):

var_dump(PHP_VERSION);

¡Cuando voy a la página 2 veo las mismas entradas que en la página 1!

Estás utilizando mal query_posts(). Echa un vistazo al modo correcto de usar query_posts()

¿Funciona PageNavi con instancias secundarias de WP_Query?

Sí; lee este tutorial

¿Cómo ignoro la página de opciones?

Si estás usando un plugin multilingüe probablemente prefieras ignorar estas cadenas en la página de opciones.

Lo puedes hacer así:

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

Reseñas

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.

nice one

configurable, possibility to disable css, show & hide fields.. just nice =)

Leer todas las 133 reseñas

Colaboradores y desarrolladores

“WP-PageNavi” es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

“WP-PageNavi” ha sido traducido a 37 idiomas. Gracias a los traductores por sus colaboraciones.

Traduce “WP-PageNavi” a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN , o suscríbete al log de desarrollo por RSS .

Registro de cambios

2.92

  • Añadido el atributo title a los enlaces de las páginas. Gracias a @Mahjouba91

2.91

  • Valida las opciones de texto con kses
  • Actualiza el Framework SCB

2.90

  • Retirados los archivos po/mo del plugin
  • Uso de translate.wordpress.org para traducir el plugin

2.89.1

  • FIXED: before and after args

2.89

  • NEW: wrapper_tag option to allow other HTML tag besides DIV and wrapper_class option to allow other class name besides wp-pagenavi. Props @Mahjouba91.

2.88

  • NEW: Added filters for altering class names. Props @bookwyrm

2.87

  • NEW: Uses WordPress native uninstall.php

2.86

  • NEW: Bump to 4.0
  • NEW: Added rel=next and rel=previous

2.85

  • FIXED: “Use pagenavi-css.css” & “Always Show Page Navigation” in the options are not being saved

2.84

  • FIXED: Updated scb framework to fix scbAdminPage incompatible error

2.83

  • added ‘echo’ parameter
  • added Estonian and Bengali translations
  • updated scbFramework

2.82

  • fixed prev/next links not appearing in some conditions
  • added Hebrew, Georgian and Azerbaijani translations
  • updated scbFramework

2.81

  • require an explicit type; fixes bugs with multipart pages

2.80

  • support for multi-part pages and user queries
  • moved prev/next links before/after first/last links
  • más información

2.74 (2011-02-17)

  • added ‘smaller’ and ‘larger’ classes
  • added $query arg to wp_pagenavi()
  • updated translations
  • more info