5 de noviembre de 2009

Wordpress: Obtener los datos de un post fuera del loop


Muchas veces necesitamos obtener los datos de un post determinado diferente del post con el que estamos trabajando en el famoso loop de Wordpress.

Conforme dominas el desarrollo de Wordpress descubres muchas maneras de acceder a esos posts ajenos al loop. Os voy a mostrar uno de los métodos más sencillos para conseguirlo, la función get_post([identificador del post]).

¿Cómo funciona? Pues muy fácil, cargamos en una variable el resultado de la función get_post dándole como valor la id del post al que queremos acceder.

Aquí va un ejemplo en el que obtenemos los datos del post nº12:
$post_id_12 get_post(12);

Los datos obtenidos tiene formato de array, así, por ejemplo, para acceder al título del post en este ejemplo habría que hacer lo siguiente:
$titulo $post_id_12->post_title; 
echo("Título:".$post_id_12->post_title);

Estas son las propiedades más útiles de este array:
  • ID
  • post_date
  • post_content
  • post_title
  • post_excerpt
Hay bastantes, la lista completa la podéis ver en esta página de Wordpress.

¿Pegas de este sistema? Pues una muy grande, no permite obtener las categorías, si utilizamos el campo $post_category siempre devuelve 0 :(