如何通过单条SQL查询获取WordPress产品文章及特色图片URL
获取带特色图片URL的WordPress产品文章
嘿,我来帮你把这个查询完善好!你已经成功拿到了特色图片的ID,接下来只需要再关联一次wpgp_posts表就行——因为在WordPress里,特色图片本质是attachment类型的文章,它的URL就存在这个表的guid字段里。
这里给你调整后的正确SQL查询:
SELECT post_data.ID, post_data.post_title, post_data.event_imgID, img_post.guid AS event_imgURL FROM ( -- 先获取产品文章的基础信息和特色图片ID SELECT p.ID, p.post_title, MAX(IF(pm.meta_key = 'featured_image', pm.meta_value, NULL)) AS event_imgID FROM wpgp_posts AS p LEFT JOIN wpgp_postmeta AS pm ON pm.post_id = p.ID WHERE p.post_type = 'product' AND p.post_status = 'publish' GROUP BY p.ID, p.post_title ) AS post_data -- 关联图片对应的attachment记录,拿到URL LEFT JOIN wpgp_posts AS img_post ON img_post.ID = post_data.event_imgID;
关键点说明:
- 子查询先完成了核心筛选:只保留已发布的
product类型文章,同时提取出每篇文章的特色图片ID - 外层通过图片ID关联到
wpgp_posts表的图片记录,直接取出guid作为图片URL - 全程用
LEFT JOIN,确保即使没有设置特色图片的文章也会被查询出来(此时event_imgID和event_imgURL会是NULL)
小提醒:如果你的WordPress主题用的特色图片meta_key不是featured_image(比如默认主题常用_thumbnail_id),记得把查询里的featured_image替换成你实际的meta_key哦。
内容的提问来源于stack exchange,提问作者Jean R.
相关产品推荐
相关产品推荐

