Intereting Posts
Невозможно переопределить подключаемую функцию wp_mail Записи ежемесячного архива WordPress приводят к 404 Изменение фонового изображения на странице. как создавать сообщения о выходе сайта с отображаемым URL-адресом назначения Добавить сообщение Thumbnail на RSS-канал с нестандартным размером Удалить вкладку «Визуальный композитор» из меню панели инструментов меню вытягивает только один элемент Добавить пользовательский пост при вставке нового пользователя в WordPress? Применить фильтр the_content только для определенных типов сообщений Отключить новые сообщения с уведомлением пользователей Адаптивные фильтры продуктов для WooCommerce Несогласованный перевод на сайте WP Что может привести к тому, что изображение не будет отображаться? используйте get_posts для получения пользовательских данных поля, но в одном массиве Bootstrap modal с сообщением jQuery

сборщик времени, метки времени и мета-запросы

У меня есть обычная мета-поле с дампикером. Вывод datepicker 2013-01-17 10:00 в моей базе данных для события, которое 01-17-2013 в 10 вечера PST.

$eventlist = new WP_Query(array( 'post_type' => 'events', 'posts_per_page' => 5, 'order' => 'asc', 'orderby' => 'meta_value', 'meta_key' => 'datetime', 'meta_query' => array( array( 'key' => 'datetime', // Check the start date field 'value' => date("Ymd H:i:s"), 'compare' => '>=', 'type' => 'DATETIME' ) ), )); 

Проблема заключается в том, что в 16:00 PST событие исчезает, заставляя меня поверить, что где-то он думает о своем UTC и делает сообщение до свидания. Где бы я нашел эту проблему и как ее решить?

Solutions Collecting From Web of "сборщик времени, метки времени и мета-запросы"

WordPress устанавливает часовой пояс php для UTC для внутренних вычислений. Таким образом, в 16:00 по тихоокеанскому времени date() будет производить дату, которая читается в формате 10pm UTC. Следовательно, событие считается прошлым.

Это можно решить двумя способами.

  1. (Предпочтительный метод) Хранить даты в базе данных в UTC. Обработайте все расчеты дат в UTC и преобразуйте их в желаемый часовой пояс на выходе (frontend и back).

  2. Используйте date_i18n() для создания даты запроса (так как это установит дату в соответствии с вашим date_i18n() вашего блога).