Intereting Posts
Почему в моей панели администратора WordPress отображается только английский язык? Пользовательские скрипты на страницу или пользовательский тип сообщения Как получить это значение внутри RETURN Добавление Dropbox dropin js с помощью wp_enqueue_script Пользовательский тип сообщения или короткий код, что выбрать? Относительная дата публикации в списке последних сообщений Один пользовательский тип сообщения с двумя различными структурами структуры URL в таксономическом терминале создание запроса wp с сообщениями определенной категории Проблема с работой WordPress после перемещения серверов pre_get_posts – попытка получить свойство предупреждения без объекта Как обновить плагин? На веб-сайте клиентов отображается пустая страница Категории пользовательской таксономии не отображаются Поместите заголовок страницы в короткий код wp_query не сбрасывается, последний пост висит

Если для текущего дня и месяца нет сообщений, покажите следующий доступный день сообщений

Я пишу функцию в этот день, которая должна показывать X количество сообщений за текущий день и месяц.

Как добавить резервную копию запроса, если нет сообщений, чтобы показать следующий доступный день сообщений?

Это аргументы, которые я передаю текущему запросу.

$onThisDay_args = array( 'post_type' => array('on-this-day'), 'posts_per_page' => $postlimit, 'date_query' => array( array( 'month' => date( 'n', current_time( 'timestamp' ) ), 'day' => date( 'j', current_time( 'timestamp' ) ) ), ) ); 

Единственное, что я могу придумать для выполнения этого требования, – это если результаты первого запроса равны нулю или 0, а затем выполнить второй запрос.

Если это так, как мне изменить аргументы date_query, чтобы вернуться к предыдущему дню доступных сообщений?

Благодарю.

Solutions Collecting From Web of "Если для текущего дня и месяца нет сообщений, покажите следующий доступный день сообщений"

Как это решить, во многом зависит от того, как вы его сохраняете.

В общем, я был бы осведомлен о том, чтобы WordPress обрабатывал исторические даты, в широком диапазоне, в качестве дат публикации. Существуют различные ограничения, которые вы можете проверить на этом сайте или, например. ПРОФ.

Запрос даты на вчерашний день

Если вы создаете объект datetime с:

  $dto = DateTime::createFromFormat( 'Yn-j', current_time( 'Ynj' ) ); 

где часовой пояс включен в current_time() , вы можете попытаться установить его в d ay before :

  $dto->modify( 'yesterday' ); 

Месяц и день для вчерашнего дня должны быть доступны:

 'date_query' => [ [ 'month' => $dto->format('n'), 'day' => $dto->format('j'), ], ], 

За 2 дня до того, как мы сможем попробовать

 $dto->modify( '-2 days' ); 

и так далее

Запрос даты для текущей даты или предыдущей доступной даты

Если вы используете тот же год для всех событий, вы можете использовать:

 'date_query' => [ [ 'before' => current_time( 'Ynj' ), 'inclusive' => true, ], ], 

альтернативы

Для очень редкого месячного дневного списка можно попытаться группировать сообщения по месяцам и дням, чтобы найти предыдущую доступную дату публикации. Но для этого потребуется специальный запрос.

Можно также использовать таблицу пользовательских баз данных для хранения дат, для большей гибкости, но для этого также требуется специальное здание.

Многие плагины событий хранят даты в meta_query post и используют meta_query в WP_Query для фильтрации через него. Но это может плохо масштабироваться для большого количества сообщений.

Мы могли бы даже использовать обычную таксономию, чтобы хранить месяц-день, но тогда упорядочение месячного дня может оказаться сложным.