Intereting Posts
Варианты для Wiki WordPress Исключить сообщения из виджета, пока сообщение отображается на домашнем, одноместном и категориях WP Walker с использованием пользовательских классов CSS ACF Добавить значения полей во вновь вставленные сообщения префикс для размещения постоянных ссылок без влияния на категорию permas Просмотр комментариев на страницах, отличающихся идентификаторами GET При отправке формы site.com/blog/wp-admin он отправляется на сайт site.com/wp-admin Отображать два пользовательских значения из сообщения Результат из wp_send_json добавляет фид строки Изменение местоположения wp_insert_post () Как отображать комментарии на разных страницах Сохранение типа персонализированного сообщения в другой таблице Как разделить сеанс WordPress и файлы cookie между доменом и субдоменом? Два файла functions.php в одной теме Как вручную исправить код галереи WordPress с помощью PHP в functions.php?

Сообщения, измененные за последние 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 .