我在一个活动网站上工作,所有活动的日历按两个自定义字段排序
date_start - 活动当天。数据就像这样存储 20160622今天> 22/06/2016
time_start - 事件在这一天开始的时间。数据存储供德国使用。 上午10点= 10点/下午3点= 15点/ 8点= 20点
仅按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的customfield。 当活动在下午3点(15:00)开始时,不应在晚上8点(20:00)之后显示。
在我的情况下,正确使用'meta_query'按日期和时间对自定义的内容进行排序是什么?
答案 0 :(得分:0)
我认为您需要使用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,
),
),
));