проблема с запросом 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 дня. Как правильно выполнить этот запрос?

Author: 10wtaylor, 2013-04-21

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

 0
Author: s_ha_dum, 2017-04-13 12:37:50