Я создал пользовательский модуль для создания бобра (wordpress). Я загружаю сообщения через Ajax. Мне нужно запрашивать сообщения, основанные на дате настраиваемого поля ACF.
Я публикую дату в формате ISO8601 (например, 2013-12-01T00: 00: 00-05: 00). На стороне сервера я хватаю начало и конец. Я конвертирую их в формат, необходимый для запроса ACF https://www.advancedcustomfields.com/resources/date-picker/
$start_date = date('Ymd', strtotime($_POST['start']));
$end_date = date('Ymd', strtotime($_POST['end']));
Я запускаю запрос и ничего не получаю. Я повторяю строку, и они выглядят правильно.
Если я установлю дату в соответствии с примером в документации ACF - это работает (код ниже). Поэтому я, должно быть, неправильно конвертирую ISOdate $_POST['start']
. Как мне преобразовать ISODATE, чтобы я мог использовать его в запросе?
function get_ajax_event_calendar_posts() {
$today = date('Ymd'); // this works...
$args = array(
'post_type' => array('event'),
'meta_query' => array(
array(
'key' => 'start_date',
'compare' => '<=',
'value' => $today,
),
array(
'key' => 'end_date',
'compare' => '>=',
'value' => $today,
)
),
'post_status' => array('publish'),
'posts_per_page' => 100,
'nopaging' => true,
'order' => 'DESC',
'orderby' => 'date'
);
// The Query
$ajaxposts = get_posts( $args );
//... etc
}
** edit ** .... дата не была проблемой. У меня была проблема ... поменял мои сравнения в правильном направлении и все работает ...