wpdb query problem to access previous 3 days posts

I am trying to get all published posts titles by author id 2 most recent by post date for the last days. Here is my query:

"SELECT post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_author = 2 ORDER BY post_date DESC LIMIT 3 "

This displays most recent 3 posts instead posts of last 3 days.
How to get that query right?

Related posts

Leave a Reply

1 comment

  1. You are asking for the last three posts ordered by post date, not for the posts from the last three days– ORDER BY post_date DESC LIMIT 3. post_date has a time component to it. It is not just marked with a date. Even so, that LIMIT would restrict the query to last three in the list, not all of the posts that are more recent than three days.

    What you need is something like this:

    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
    

    See the following for other options and caveats: https://wordpress.stackexchange.com/a/96562/21376