Quelqu'un m'a donné ce code SQL pour compter le nombre de publications (de post_type 'mixtapes') au cours des 7 derniers jours. J'ai essayé de le convertir en "au cours des dernières 24 heures" également, mais cela donne le mauvais numéro.
Voici son code qui fonctionne pour une période de 7 jours:
$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);
Voici mon code pour une période de 1 jour qui donne une mauvaise réponse
$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);
Personnellement, je générerais la date en php en utilisant la classe PHP Date
puis $ date-> sub () . Avec quelques lignes de code supplémentaires, la requête indiquera:
... WHERE post_date >= ".$date." ...