いくつか確認しておきたいのですが、
1.これは別WordPressのデータベースへ接続しなければならない為にわざわざSQL文を書いているという解釈で宜しいのでしょうか?
もし違うのであればSQL文を書く必要はありません。組み込み関数で処理可能ですし、そうすべきです。
-> もし、別WordPressのデータベースから取得しなければならなかった場合
・アイキャッチ画像はpostmetaテーブルに格納されています。
/* 間違えてましたので訂正… */
・投稿に関連づいているアイキャッチのデータはpostmeta内のmeta_key = '_thumbnail_id'
に格納されています。
・アイキャッチそのもののデータはpostmeta内のmeta_key = '_wp_attachment_metadata'
に格納されています。
・meta_key = '_thumbnail_id'
のpost_idが「投稿ID」、meta_valueがmeta_key = '_wp_attachment_metadata'
のpost_idに対応しています。
つまるところ、3つのテーブルを結合するSQL文が必要になります。(※これでも取れました)
ただ、結構ハードルが高くなる場合は
一つめのSQLで投稿ID、post_date,post_contentをまず取得して、
その数を元に、新たにもう一つSQL文を作成してもいいのかな、と。
実際、SQLで取得しようとすると結構面倒です。
(言葉で構造を説明していても混乱してしまいますね…)
2.wpdbクラスの使い方$wpdb->'テーブル名'
です。
テーブルを結合しない限りカラム名等にまで記述する必要はありません。
提示されているコードでは下記のように書き換えられます。
SELECT ID,post_date,post_content
FROM $wpdb->posts
WHERE post_type = 'post'
AND post_status = 'publish'
ORDER BY post_date DESC
LIMIT $now_post_num, $get_post_num
ただし、$wpdb
は表示させる側のWordPressの様々なデータが格納されている変数なので
他の変数を使用し
$another_db = new wpdb(user,pass,dbname,host);
$test = $another_db->get_results("...");
等したほうが良いでしょう。
また、ここでpost_status = 'post'
となっていますが
postは「投稿」であって、「カスタム投稿」を指していませんが、取得したいのは「カスタム投稿」で正しいのでしょうか?