私は外部のPHPファイルからWordPressデータベースを手動で照会しようとしています。タイトル、コンテンツ、最後の(または最初の)イメージ、そしてそのイメージのwp_postmetaから最後の3つの投稿を抽出します。サムネイルURL。投稿のタイトル、コンテンツ、画像の添付ファイルサムネイルを手動でクエリする方法はありますか?
タイトル、コンテンツ、イメージIDを取得できましたが、イメージサムネイルを取得するための別の結合を追加する方法を理解できませんでした。 58435, 6711, _wp_attachment_metadata, a:6:{s:5:"width";s:4:"1024";s:6:"height";s:3:"683"...
が
私はc.id
に画像IDを取得し、それを必要とするすべてはまた、取得するための別のJOIN
で見ることができます:
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)
表である:これは私が持っているものですフィールドのデータは meta_key="_wp_attachment_metadata" and post_id=c.id
です。
誰でも質問を完了できますか?ありがとう!
ありがとうございます。タイトル+リンク+サムネイルを含めるサイトは、wordpressの別のインストールです。したがって、関数とグローバル変数は混在しませんか? – conualfy
次に、単にrssフィードを使用しないのはなぜですか? rssがあなたのニーズに合わない場合は、 "ソース"サイトでスクリプトを作成し(私の答えに記述されているようにWordPressの機能を使用)、それを "目的地"のサイトに含める必要があります。 – soju
私は同じサーバー、同じホスティングアカウント、別のデータベースにいる場合、なぜRSSを使用する必要がありますか? :)これは(rssの機能はfeedburnerに移され、別のサーバーに移されています)もっと速くて簡単です。私は一歩足を踏み外しています。フルサイズの画像を取得できますが、別のJOINも必要ですその画像のサムネイルを取得します。最後のケースでは、サムネイルを取得するために別のクエリを使用しますが、私はそれが好きではありません:D – conualfy