Запрос произвольного типа записей с 2 произвольными полями (диапазон дат)
Я изучил WP Codex и StackExchange, нашел некоторые подсказки, но не могу заставить этот запрос работать. У меня есть 2 произвольных поля, связанных с каждой выставкой в формате Y-m-d: exstart-date - дата начала выставки и exend-date - дата окончания.
Я легко могу отображать предстоящие и прошедшие выставки, но не могу правильно настроить meta_query для отображения текущих выставок (с датой начала меньше или равной сегодняшней И датой окончания больше или равной сегодняшней). Приведенный ниже код ничего не выводит на страницу. Поможете?
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$today = date('Y-m-d', strtotime('-6 hours'));
query_posts(array(
'post_type' => 'exhibitions',
'posts_per_page' => 6,
'paged' => $paged,
'orderby' => 'title',
'order' => 'DESC',
'meta_query'=>array(
'relation'=>'AND',
array(
'key' => 'exstart-date',
'value' => $today,
'compare' => '<=',
'type' => 'CHAR'
),
array(
'key' => 'exend-date',
'value' => $today,
'compare' => '>=',
'type' => 'CHAR'
)
)
));
if (have_posts()) :
while (have_posts()) : the_post();

Вот код, с которым я в итоге разобрался и который работает. Я должен был упомянуть, что запрос находился внутри цикла, потому что, когда я показал его Дэмиану Тэггарту из Mindshare Studios, он заметил и сказал, что мне следует использовать WP_Query вместо query_posts. Спасибо Майло и другим, кто пытался помочь мне, несмотря на отсутствие всей необходимой информации.
<?php
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$today = date('Y-m-d', strtotime('-6 hours'));
$myquery = new WP_Query(array(
'post_type' => 'exhibitions', // Тип записи: выставки
'posts_per_page' => 6, // Количество записей на странице
'paged' => $paged, // Номер страницы
'orderby' => 'title', // Сортировка по заголовку
'order' => 'ASC', // По возрастанию
'meta_query'=>array( // Мета-запрос
'relation'=>'AND', // Логическое И
array(
'key' => 'exstart-date', // Ключ: дата начала
'value' => $today, // Значение: сегодня
'compare' => '<=', // Оператор сравнения: меньше или равно
'type' => 'CHAR' // Тип данных
),
array(
'key' => 'exend-date', // Ключ: дата окончания
'value' => $today, // Значение: сегодня
'compare' => '>=', // Оператор сравнения: больше или равно
'type' => 'CHAR' // Тип данных
)
)
));
if ($myquery->have_posts()) : // Если есть записи
while ($myquery->have_posts()) : $myquery->the_post(); // Цикл по записям
?>
