0

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 ではなくサーバーで実行される理由を誰か教えていただければ幸いです。

前もって感謝します。

4

1 に答える 1