Paginado en plantillas de categorías en WordPress

En la entrada anterior vimos como crear Plantillas para entradas individuales en WordPress. Ahora, cada uno de nuestros posts puede tener una plantilla distinta y dentro de ella podemos hacer lo que queramos. Sin embargo esto no es tan así, porque si queremos hacer un loop y paginar los resultados, nos encontramos con un problema.

Se trata de un bug de WordPress que parece estar allí desde hace por lo menos cuatro años, según estuve investigando en los registros de Codex. El problema es que al paginar los resultados e intentar acceder a alguno de los links del paginador, nos devuelve un error 404.

La explicación del problema está detallada en la siguiente entrada de Codex:  Explanation and workaround for error 404 on category pagination

Hay varias formas de solucionar este problema. Algunas incluyen un plugin como Category pagination fix. A mí no me funcionó, pero a otro tal vez le sirva.

La solución o workaround que sí me sirvió es la que explica el usuario mad_max en ese mismo post. Lo soluciona con una función a modo de filtro que hay que agregar al functions.php

Es compatible con wp_pagenavi y con Custom Post Templates. Lo que hace la función es recordarle a WordPress el parámetro post_per_page que en las plantillas de categoría parece “olvidar”. Para mi caso, debí agregarle algunos parámetros para modificar el query, como ven en el case ‘compositores’. En esa categoría yo necesitaba no sólo definir la cantidad de post por página sino también darle un orden. Es ahí donde deben agregarse los parámetros y no en la plantilla de la categoría que debe quedar algo así, si utilizan wp_pagenavi

Si están experimentando este error y ya buscaron y probaron muchas soluciones (incluída esta) y aún no obtienen resultados, les recomiendo aplicar cada una de forma individual y no mezclar las posibles soluciones. Recuerden que la mejor manera de probar si algo funciona o no es cambiar al tema por defecto de WordPress (Twenty Ten) y hacer todos los experimentos ahí.

Y por último, si se topan con un bug en cualquier framework o sistema que estén utilizando tómenlo como algo positivo. Para mí significa haber llegado a un nivel de conocimiento considerable respecto de algo. Todavía hay mucho por aprender, pero trabajar cerca de la zona de desarrollo de un sistema y toparse con algunos bugs me parece algo más que interesante.

Soy programador web y me desempeño como Líder Técnico en Polar Bear Development. Trabajo con tecnologías como PHP, Javascript, MySQL y HTML5 para el desarrollo de sitios y sistemas web. Me especializo en Zend Framework 2 y otros frameworks MVC, como también en WordPress y otros CMS. Lidero equipos de desarrolladores trabajando con Scrum. Vivo en Buenos Aires, Argentina.
 

2 thoughts on “Paginado en plantillas de categorías en WordPress

  1. Sencillamente no lo entiendo… Tengo el problema de no poder paginar mis entradas pues la he puesto en categorias… Pero no encuentro la manera de que se paginen…

  2. Elena

    Es un tema que me dio un gran dolor de cabeza en su momento. Fijate que hay más de una posible solución. Hay algunos plugins disponibles, que si bien a mí no me sirvieron, puede ser que te resulten útiles. Por otro lado, no hay que olvidar realizar las pruebas en el tema por defecto de WordPress, para aislar los problemas.

    Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *


*