J'essaie d'obtenir tous les titres d'articles publiés par auteur id 2 le plus récent par date d'envoi pour les derniers jours. Voici ma requête:
"SELECT post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_author = 2 ORDER BY post_date DESC LIMIT 3 "
Cela affiche les 3 derniers messages au lieu des messages des 3 derniers jours. Comment répondre à cette question?
Vous demandez les trois derniers articles commandés par date, et non les articles des trois derniers jours - ORDER BY post_date DESC LIMIT 3
. post_date
a une composante temporelle . Ce n'est pas simplement marqué avec une date. Même dans ce cas, LIMIT
limiterait la requête aux trois derniers de la liste, pas à tous les articles de plus de trois jours.
Ce dont vous avez besoin est quelque chose comme ceci:
SELECT post_title
FROM $wpdb->posts
WHERE post_status = 'publish'
AND post_author = 2
AND post_date > DATE_SUB(CURDATE(), INTERVAL 3 day)
ORDER BY post_date DESC
Voir les éléments suivants pour d'autres options et réserves: https://wordpress.stackexchange.com/a/96562/21376