Поддержка Проблемы и решения date_query, время сервера и московское время

  • Решено dmitriy88

    (@dmitriy88)


    На сайте для вывода постов использую date_query

    'date_query' => array(		
    		'after' => 'today',
    		'inclusive' => true,
    	)

    Т.е. я вывожу посты, опубликованные с текущей даты включительно и новее (на сайте настроен вывод будущих постов). Посты «живут» на сайте 3 часа после времени публикации, т.е. если пост опубликован в 19:00, то в 22:01 он уже выводиться не будет.
    Так вот в чем проблема: если пост опубликован в 22:00, то мне нужно, чтобы он выводился и в 00:30 следующего дня, но из-за настроек date_query он «уходит» с сайта уже в 00:00.
    Как побороть эту проблему?
    Я знаю, что можно использовать переменную $today = getdate();, но дело в том, что ориентир на московское время, а сайт расположен в Европе, поэтому время сервера будет отличаться от московского. Как вообще все это грамотно и правильно настроить?

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Модератор Yuri

    (@yube)

    Функция current_time() возвращает время с учетом TZ в настройках движка.

    Home

    Автор dmitriy88

    (@dmitriy88)

    Для current_time() придется использовать формат unix, чтобы вычесть часы, но этот формат нельзя использовать в date_query.
    Как тогда лучше поступить? Использовать 'after' => 'yestrday' вместо 'after' => 'today'? Или это не лучшее решение проблемы?

    Подскажите оптимальный вариант. Временно пока использую 'after' => 'yestrday'.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «date_query, время сервера и московское время» закрыта для новых ответов.