проблема с запросом wpdb для доступа к сообщениям за предыдущие 3 дня
Я пытаюсь получить названия всех опубликованных сообщений по идентификатору автора 2, самые последние по дате публикации за последние дни. Вот мой запрос:
"SELECT post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_author = 2 ORDER BY post_date DESC LIMIT 3 "
Здесь отображаются последние 3 сообщения вместо сообщений за последние 3 дня. Как правильно выполнить этот запрос?
1 answers
Вы запрашиваете последние три сообщения, упорядоченные по дате публикации, а не сообщения за последние три дня - ORDER BY post_date DESC LIMIT 3
. post_date
имеет временную составляющую. Он не просто помечен датой. Тем не менее, это LIMIT
ограничило бы запрос последними тремя в списке, а не всеми сообщениями, которые появились более трех дней назад.
Что вам нужно, так это что-то вроде этого:
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
Смотрите следующее для других вариантов и предостережений: https://wordpress.stackexchange.com/a/96562/21376