WordPress: сортировка по нескольким мета-ключам с помощью wp_query
Я работаю над сайтом событий с календарем всех событий, отсортированных по двум настраиваемым полям
date_start - день события. данные хранятся примерно так: 20160622 на сегодня> 22/06/2016
time_start - время начала события в этот день. данные хранятся для немецкого использования. 10:00 = 10:00 / 15:00 = 15:00 / 20:00 = 20:00
Сортировать события только по date_start прекрасно работает.
$query = new WP_Query( array(
'post_type' => 'veranstaltungen',
'post_status' => 'publish',
'cat' => '1,2,3,4,5',
'posts_per_page' => -1,
'meta_key' => 'date_start',
'orderby' => array( 'meta_value_num' => 'ASC'),
'order' => 'DESC'
));
Теперь я ищу решение с сортировкой и настраиваемым полем time_start. Когда событие начинается в 15:00 (15:00), оно не должно отображаться после события 20:00 (20:00).
Что в моем случае является правильным использованием "meta_query" для сортировки пользовательских запросов по дате и времени?
1 ответ
Я думаю, что вам нужно использовать meta_query
, Попробуйте сделать что-то вроде ниже.
$query = new WP_Query( array(
'post_type' => 'veranstaltungen',
'post_status' => 'publish',
'cat' => '1,2,3,4,5',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'date_start',
'orderby' => 'meta_value_num',
'order' => ASC,
),
array(
'key' => 'time_start',
'orderby' => 'meta_value',
'order' => DESC,
),
),
));