WordPressデータベースの外部PHPファイルから手動でクエリを実行しようとしていますが、タイトル、コンテンツ、最後の(または最初の)画像を含む最後の3つの投稿を抽出し、その画像のwp_postmetaからサムネイルのURLを取得します。
タイトル、コンテンツ、画像IDを取得できましたが、画像のサムネイルを取得するために別の結合を追加する方法がわかりませんでした。これは私が持っているものです:
SELECT a.post_title title, max(c.guid) img_url, a.ID id
FROM wp_posts a
LEFT JOIN
(select post_parent, max(post_date_gmt) as latest_image_date from wp_posts
where post_type='attachment' GROUP BY post_parent) b
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
画像のサムネイルは次のwp_postmeta (meta_id, post_id, meta_key, meta_value)
ように表に表示されます。58435, 6711, _wp_attachment_metadata, a:6:{s:5:"width";s:4:"1024";s:6:"height";s:3:"683"...
画像IDを取得していることがわかりました。c.id
必要なのは、フィールドのJOIN
データを取得するための別の方法です。wp_postmeta
meta_key="_wp_attachment_metadata" and post_id=c.id
誰かがクエリを完了するのを手伝ってくれますか?ありがとう!