query_posts()
es una de las funciones estrella de WordPress. Con ella podemos modificar la salida por pantalla haciendo que :
- Solo aparezca un post o una página
- Mostrar todos los posts en un tiempo determinado
- Mostrar solo los últimos posts en la principal
- Cambiar el orden de los posts
- Mostrar los posts de una sola categoría.
- Y muchas cosas más…
query_posts()
, es un interfaz para modificar las consultas a base de datos facilitandonos la tarea reduciendo nuestra labor a introducir una serie de modificadores que serán pasados como parámetro a la función y que nos modificará la salida de posts.
Esta función está pensada para ser usada junto al famoso Loop de WordPress que se encargará de mostrar el resultado de query_posts()
con los modificadores que nosotros les hayamos pasado.
Ejemplo de uso
<?php
query_posts('....');
while (have_posts()) : the_post();
...
endwhile;
?>
Parámetros
query_posts()
nos permite enviar una serie de parámetros que podemos separar en varios tipos:
Parámetros de categorías
cat
category_name
Ejemplos
query_posts('cat=4'); //Únicamente los posts de la categoría con ID (4)
query_posts('cat=-4'); //Todos excepto los de la categoría con ID (4)
query_posts('category_name=Categoria'); //Solo los de las categoria (Categoria)
query_posts('cat=1,2,4,5,7'); //Únicamente los posts de las categorías indicadas.
Parámetros de Tags
tag
Ejemplo
query_posts('tag=cooking'); // Todos los posts con el tag (cooking)
query_posts('tag=bread,baking'); //Todos los posts que contengan (bread) o (baking)
query_posts('tag=bread+baking+recipe'); //Todos los posts que contentan las 3 tags
Parámetros de Autor
author_name
author
Ejemplo
query_posts('author_name=aNieto2k'); //Todos los posts en los que el autor sea (aNieto2k)
query_posts('author=2'); //Todos los posts del autor (2)
query_posts('author=-4'); //Todos los posts menos los del autor (4)
Parámetros de posts y páginas
p
name
page_id
pagename
showposts
Ejemplo
query_posts('p=1'); //Únicamente el post (1)
query_posts('name=first-post'); //Únicamente el post con nombre (first-post)
query_posts('page_id=7'); //La página con ID (7)
query_posts('pagename=about'); //La página con nombre (about)
query_posts('showposts=1'); //Modifica el LIMIT del SQL para indicar el número de posts a mostrar.
Parámetros de tiempo
hour
minute
second
day
monthnum
year
Ejemplo
query_posts('hour=01'); //Todos los post de las (1:00)
query_posts('minute=30'); //Todos los posts del minuto 30(*:30)
query_posts('second=07'); //Posts del segundo 7 (*:*07)
query_posts('day=1'); //Los posts de los días (1)
query_posts('monthnum=2'); //Los posts del mes (2)
query_posts('year=2005'); //Los posts del año (2005)
Parámetros de paginación
paged
posts_per_page
order
Ejemplo
query_posts('paged=2'); //Todos los posts que se encuentren en la página (2) de la paginación
query_posts('posts_per_page=10'); //Número de posts por página (10)
query_posts('order=ASC'); //Orden de la paginación (ASC)
Combinar parámetros
No tendría mucha gracia que únicamente pudieramos usar un solo parámetro ya que esto limitaría considerablemente el potencial de la función, para ello podemos hacer uso de (&) con el que podremos unir varios parámetros para pulir nuestra condición.
query_posts("cat=-1,-2,-3&page_id=7&tag=bread,baking");
La imaginación es la única limitación.
52 comentarios, 9 referencias
+
#