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">←</span> Older posts', 'twentyten' ) ); ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">→</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;
}
Desarrollo
Agradecimientos
- Icono del plugin por SimpleIcon de Flaticon
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 dólares lo apreciaré de verdad. Si no siéntente libre de usarlo sin obligación alguna.
Capturas
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() -
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
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 53 idiomas locales. Gracias a los traductores por sus contribuciones.
Traduce «WP-PageNavi» a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
2.94.1
- FIXED: PHP 8.2 warnings
2.94.0
- NUEVO: Añadido el parámetro «args» en el filtro `wp_pagenavi`. Gracias a @asadowski10
- NUEVO: Mejorada la accesibilidad de los enlaces de navegación. Gracias a @carlabobak
2.93.4
- CORREGIDO: Actualizar el entorno de trabajo de SCB para que sea compatible con PHP 8
2.93.3
- CORREGIDO: Actualizado el marco de trabajo SCB para eliminar `contextual_help`
2.93.2
- NUEVO: Compatible con WordPress 5.4
- CORRECCIÓN: Asegurar que los enlaces de acción son siempre un array
2.93.1
- CORREGIDO: Avisos de administración duplicados de ajustes guardados
2.93
- Se elimina el screen_icon de SCB.
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
- Usa translate.wordpress.org para traducir el plugin
2.89.1
- FIXED: before and after args
2.89
- NUEVA: opción wrapper_tag para permitir otra etiqueta HTML además de DIV y la opción wrapper_class para permitir otro nombre de clase además de wp-pagenavi. Créditos par @Mahjouba91.
2.88
- NUEVO: Añadidos filtros para alterar los nombres de las clases. Créditos para @bookwyrm
2.87
- NUEVO: Uso del archivo nativo de WordPress «uninstall.php»
2.86
- NUEVO: Actualización a 4.0
- NUEVO: Añadidas «rel=next» y «rel=previous»
2.85
- CORREGIDO: Las opciones «Usar pagenavi-css.css» y «Mostrar siempre la navegación de la página» no se guardan.
2.84
- CORREGIDO: Se actualizó el marco de trabajo «scb» para corregir el error de incompatibilidad con «scbAdminPage»
2.83
- Añadido parámetro «echo»
- añadidas traducciones al estonio y bengalí
- actualizado scbFramework
2.82
- corregidos los enlaces «prev/next» que no aparecían en algunas condiciones
- añadidas traducciones al hebreo, georgiano y azerbaiyano
- actualizado scbFramework
2.81
- requieren un tipo explícito; corrige errores con páginas de múltiples partes
2.80
- compatibilidad para páginas de múltiples partes y consultas de usuarios
- movidos los enlaces «anterior/siguiente», «antes/después», «primero/último»
- más información
2.74 (2011-02-17)
- Añadidas las clases ‘smaller’ y ‘larger’
- Añadidos argumentos de $query a wp_pagenavi()
- Traducciones actualizadas
- más información