Сообщения, измененные за последние 48 часов

Я использую следующий код для создания сообщений, созданных за последние 48 часов.

function filter_where($where = '') { $where .= " AND post_date > '" . date('Ym-d', strtotime('-2 days')) . "'"; return $where; } add_filter('posts_where', 'filter_where'); 

Но я также хочу, чтобы сообщения были изменены за последние 48 часов. Даже если их дата создания старше. Кто-нибудь знает как это сделать?

Буду признателен за вашу помощь …

Solutions Collecting From Web of "Сообщения, измененные за последние 48 часов"

Вы можете легко это сделать с помощью WP_Query :

 $args = array( 'date_query' => array( 'relation' => 'OR', array( 'column' => 'post_date', 'after' => '-2 days' ), array( 'column' => 'post_modified', 'after' => '-2 days' ) ) ); $query = new WP_Query( $args ); 

Дополнительная информация о параметре WP_Query .

Если по какой-то причине вы все же хотите изменить WHERE , что-то вроде этого должно работать (не проверено):

 function filter_where($where = '') { $where .= " AND ( post_date > '" . date('Ym-d', strtotime('-2 days')) . " OR post_modified > " . date('Ym-d', strtotime('-2 days')) . " )'"; return $where; } add_filter('posts_where', 'filter_where'); 

Кроме того, вы должны отметить, что в Ymd где используется фильтр, вы используете Ymd даты Ymd , который не включает время. Это может привести к неожиданным результатам; вам может понадобиться использовать формат даты и времени MySQL: Ymd H:i:s .