WordPress 経由で MySQL クエリを実行して、「いいね」投票がないために削除したい投稿のリストを戻そうとしています (他の誰かのプラグイン データを使用)。クエリはphpMyAdminで完全に機能しますが、WPで実行すると構文エラーが発生します...そして、これを行う理由がまったくわかりません。
これは、wti_like_post に対応する「いいね」エントリがない 30 日以上前の投稿をチェックするクエリ コードです (正か負かに関係なく)。
$novotesquery = "SELECT * FROM $wpdb->posts
WHERE $wpdb->posts.post_type = 'post'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_date < DATE_SUB(NOW(), INTERVAL 30 DAY)
AND $wpdb->posts.ID NOT IN
(SELECT DISTINCT post_id FROM $wpdb->wti_like_post)" ;
$result = $wpdb->get_results($novotesquery);
構文エラーは、SQL の最後の行 (括弧内の SELECT) に問題があることを示しています。 ' 6 行目".
phpMyAdmin でクエリを実行すると ("$wpdb->" をテーブル プレフィックスに置き換えます)、問題なく動作します。SQL クエリが WP ではなくサーバーで実行される理由を誰か教えていただければ幸いです。
前もって感謝します。