この7日間の(post_type 'mixtapes'の)投稿数を数えるために、このSQLコードを誰かがくれました。私はそれを「過去24時間以内」にも変換しようとしましたが、それは間違った数を与えています。
これが7日間有効な彼のコードです。
$querystr = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'mixtapes' AND post_date >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY) LIMIT 0, 30");
if (0 < $querystr) $querystr = number_format($querystr);
これは間違った答えを与える1日の期間のための私のコードです
$querystr = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'mixtapes' AND post_date >= DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY) LIMIT 0, 30");
if (0 < $querystr) $querystr = number_format($querystr);
個人的には、PHP Date
クラスを使って、次に $ date-> sub() を使ってphpで日付を生成します。さらに2、3行のコードを使用すると、クエリは次のようになります。
... WHERE post_date >= ".$date." ...