
La función query_post() es una de la más importantes dentro de WordPress, con esta función podemos especificar que queremos mostrar dentro del loop, como por ejemplo categorías, tags, custom posts, incluir y excluir Id’s de posts, filtrar… cuenta con una gran cantidad de parámetros para personalizar la función que nos muestra la query que obtenemos de la base de datos. Para más información de los parámetros admitidos, podemos visitar la página oficial de WordPress sobre query_post() aquí.
El problema de esta función es que es aplicada siempre (aunque especifiquemos post_per_page) y repite una y otra vez los resultados de la petición, por lo que da problemas a la hora de la paginación, para solventar este problema debemos recurrir a un parámetro que nos indique en qué página nos encontramos en cada momento y así poder condicionar nuestro query_post().
A continuación, podemos ver un ejemplo de query_post(), en el que mostramos los posts de la categoría “ejemplo“:
<?php if (have_posts()) : ?>
<?php query_posts("category_name=somecat"); ?>
<?php while (have_posts()) : the_post(); ?>
Ahora, para paginar los resultados, comprobaríamos con get_query_var() la existencia de la variable paged, seleccionando la página en la que nos encontramos y en caso de no existir, definimos que estamos en la página 1, mostrando los primeros resultados:
<?php if (have_posts()) : ?>
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("category_name=somecat&paged=$paged"); ?>
<?php while (have_posts()) : the_post(); ?>

Información Bitacoras.com…
Valora en Bitacoras.com: La función query_post() es una de la más importantes dentro de WordPress, con esta función podemos especificar que queremos mostrar dentro del loop, como por ejemplo categorías, tags, custom posts, incluir y excluir Id’……