Ver Mensaje Individual
  #10 (permalink)  
Antiguo 01/06/2014, 13:26
jota2
 
Fecha de Ingreso: diciembre-2003
Mensajes: 474
Antigüedad: 21 años
Puntos: 5
Respuesta: post recientes de mi blog en mi web

Cita:
Iniciado por AlejandroGalvez Ver Mensaje
Me disculpo, no tenía mucho tiempo para responder (igual que ahora) y lo dejé todo un poco en el aire.

La información de las imágenes se almacena como un post en la tabla wp_posts y se pueden identificar puesto que su propiedad post_type guarda el valor attachment. Por tanto para obtener una imagen debes de:
  1. Con la ID del post puedes recuperar su meta (si existe) _thumbnail_id de la tabla wp_postmeta. Solo deberás recuperar el registro relacionándolo mediante la columna post_id = id del post acual y la columna meta_key = _thumbnail_id.
  2. Del registro deberás obtener la columna meta_value que guarda la ID de la imagen en la tabla wp_posts.
  3. Ahora que tienes la ID de la imagen destacada de tu post solo debes recuperar su información de la tabla wp_posts a través del campo ID y el campo post_type = attachment (para mayor seguridad, aunque con la ID absoluta no necesitarás esta comprobación).
  4. Puedes obtener la URL absoluta de la imagen del campo guid. Aunque si quieres la relativa al dominio original deberías volver a la tabla wp_postmeta y consultar con la ID de la imagen y el meta_key _wp_attached_file para obtener su meta_value que guarda la ruta relativa.

Todo esto puedes verlo en el enlace que te pasé sobre las tablas de WordPress:

http://codex.wordpress.org/Database_Description

Realmente no es difícil, todo se puede hacer en una sola consulta MySQL emparejando registros. Si no tienes muy claro como realizar consultas combinadas a varias tablas dilo y te aclaramos.

Suerte.
Gracias, me has puesto sobre la pista y ahora estoy trabajando con este código:
Código PHP:
SELECT a.post_title titlemax(c.guidimg_urla.ID id
FROM wp_posts  a 

LEFT JOIN
(select post_parentmax(post_date_gmt) as latest_image_date from wp_posts
where post_type
='attachment' GROUP BY post_parent
on a
.id=b.post_parent

LEFT JOIN wp_posts c
on c
.post_parent=a.id 
and c.post_type='attachment' 
and b.latest_image_date c.post_date_gmt where c.guid IS NOT NULL

GROUP BY a
.post_title ORDER BY a.ID  DESC limit 5 
El problema es que no sé cómo mostrar la URL de la imagen. Sé que es una tontería pero funciona perfecto en SQL y no sé qué campo debo mostrar en mi echo....

Gracias de nuevo.