web-dev-qa-db-fra.com

problème de requête wpdb pour accéder aux publications des 3 derniers jours

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?

1
10wtaylor

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

0
s_ha_dum