Curso de Wordpress
Curso de Wordpress

Normalmente, cuando trabajamos con wordpress y necesitamos mostrar datos paginados suele ser bastante sencillo, wordpress nos ofrece todo lo necesario para montar una paginación de forma muy sencillo, pero cuando la consulta la debemos formular, por ejemplo, contra otras tablas que no son las comunes de wordpress, o necesitamos hacer consultas más complejas y no queremos o podemos utilizar la clase WP_Query (aunque siempre es lo recomendable), podemos hacerlo todo de forma personalizada.

En este tutorial vamos a ver cómo podemos crear un loop en wordpress con paginación.

El loop de WordPress

La forma más básica del loop de wordpress es la siguiente.


El problema es que si nosotros debemos crear una consulta personalizada, deberemos también utilizar el loop de wordpress de otra forma, por ejemplo, de la siguiente forma.


Cómo puedes ver, cuando creamos una consulta personalizada, debemos llamar a las funciones del loop de wordpress anteponiendo el objecto obtenido hasta llegar a la llamada a the_post, la cuál ya establecerá los datos necesarios.

Pero aún se puede complicar más, y es el caso para cuando necesitamos crear consultas personalizadas utilizando el loop con paginación, para ese caso, debemos utilizar la función get_results del objeto $wpdb

El siguiente ejemplo funciona perfectamente y es un claro ejemplo para setear todos los valores necesarios para crear una paginación 100% personalizada en wordpreess.


Llegados a este punto, wordpress ya tiene nuestros datos paginados y están listos para poder mostrarse, así que vamos a escribir el siguiente código, el cuál se encargará de mostrar los datos de los posts que hemos obtenido.


Es así de sencillo, con eso hacemos lo mismo que en los casos anteriores, lo único, que en lugar de utilizar the_post(); debemos utilizar la función setup_postdata( $post ); para poder obtener los datos de cada post dentro del loop.

Finalmente, sólo nos resta mostrar la paginación de nuestro loop, y esto también es muy sencillo.


Simplemente hacemos uso de la función paginate_links de wordpress para mostrar los datos, con eso tenemos suficiente, si hemos hecho bien todos los pasos debemos tener nuestro ejemplo funcionando.