我创建了旋转滑块,用于加载自定义的帖子类型,事件。有两个自定义字段,事件开始日期和事件结束日期。我想按开始和结束日期显示订单。因为现在只能按开始日期排序,如果开始日期相同,则将按标题排序。
以下是我在Revolution Slider网站上发现的内容:
https://www.themepunch.com/faq/sort-options-post-based-sliders/
function modify_slider_order($query, $slider_id) {
if($slider_id == 4) {
$query[\'meta_key\'] = \'event_start_date\';
$query[\'orderby\'] = \'event_start_date\';
$query[\'meta_type\'] = \'DATE\';
$query[\'order\'] = \'ASC\';
}
return $query;
}
add_filter(\'revslider_get_posts\', \'modify_slider_order\', 10, 2);
但是,我无法将数组添加到“orderby”。据此:
http://www.billerickson.net/wp-query-sort-by-meta/
\'orderby\' => array(
\'event_start_date\' => \'ASC\',
\'event_end_date\' => \'ASC\',
),
谁能告诉我一些想法,我如何更改“orderby”?
谢谢
SO网友:Third Essential Designer
要按事件结束日期或开始日期排序,请编写单独的函数并根据需要调用它们。例如,如果用户单击order by start,则应调用start函数。
switch($orderby){
case: \'event-start\':
# your code
/*
$query[\'meta_key\'] = \'event_start_date\';
$query[\'orderby\'] = \'event_start_date\';
*/
break;
case \'event-end\':
#your code
/*
$query[\'meta_key\'] = \'event_end_date\';
$query[\'orderby\'] = \'event_end_date\';
*/
break;
}