按两个自定义域排序的旋转滑块

时间:2016-11-09 作者:AntTeam Elvin

我创建了旋转滑块,用于加载自定义的帖子类型,事件。有两个自定义字段,事件开始日期和事件结束日期。我想按开始和结束日期显示订单。因为现在只能按开始日期排序,如果开始日期相同,则将按标题排序。

以下是我在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”?

谢谢

1 个回复
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;

}

相关推荐

如何在WooCommerce_Account_Orders函数中传递$CURRENT_PAGE?

woocommerce功能woocommerce_account_orders($current_page) 已调用1个参数$current_page. 该函数通过调用woocommerce_account_orders_endpoint 通过以下挂钩-add_action( \'woocommerce_account_orders_endpoint\', \'woocommerce_account_orders\' );然而,在上述挂钩中,$current_page 未在函数中作为参数传递。情况如何$c