Categorías: Tutoriales

Paginación en WordPress no funciona

En alguna ocasión me he encontrado con algún cliente o un tema en un proyecto propio en el que los botones de paginación no funcionan, incluso usando paginación al estilo WP Page Navi. El problema es que siempre se presenta la primera página sea cuál sea la página que se pida (podemos ver la página que se pide en la URL: /page/2 o /page/3…).

Probablemente no sea un problema de WordPress sino un problema de vuestro tema que no trata las variables de paginación. ¿Cómo podemos verlo? Dirigiros a vuestro index.php o al fichero en el que esté implementado el loop.

  1. Buscad la zona donde se forme la consulta (WP_Query)
  2. Comprobad en sus parámetros si se trata la página, sería algo así: &paged=’ . $paged
  3. En caso de que no se trate la variable, ahí tenéis el problema, si se trata tenéis que comprobar que la variable paged está siendo declarada y correctamente recogida de la URL: $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;

El código a buscar sería el que se encuentra alrededor de WP_Query y debería modificarse para que quedara como se indica a continuación:

// si no está declarada $paged, será 1 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// creamos la consulta
$wp_query = new WP_Query();
// le pasamos la página
$wp_query->query('posts_per_page='.get_option('posts_per_page').'&paged=' . $paged);

Además de la página, en este caso también estamos indicando el número de entradas por página que se está recogiendo de la base de datos en la tabla wp_options con get_option.

Tened en cuenta que en función de los parámetros propios de vuestro loop: categoría específica, autor en concreto o cualquier otra condición; los parámetros pueden cambiar pero en el fondo lo que es importante es que:

  1. Se recoja correctamente el número de página de la petición
  2. Se le indique a la consulta que debe usarlo

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

  • hola javier como andas?

    tengo el problema de no poder paginar 4 loops en el index.php,

    cada loop muestra de forma distinta ciertas categorias, cuando pagino cada uno y pongo la paginacion al final de todos los loops solamente me muestra las primeras 3 paginas y no todas, tendras idea vos de como poder solucionar eso?

    aca te paso el codigo en un pastie: http://pastie.org/10351924

    • Óscar,

      No es algo sencillo lo que nos envías, al menos directo, podría ayudarte pero de forma profesional con Codection, si quieres escríbenos a contacto@codection.com y vemos detalles.

      Gracias.

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

1 mes hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace