wp query - Revolution Slider Orderby Two Custom Fields

admin2025-01-07  3

I have create Revolution Slider which load the custom post type, Events. There are two custom fields, Event Start Date and Event End Date. I would like to display order by Start and End date. Because now only able order by Start date and if same Start date, then will order by Title.

Here is what I found from Revolution Slider website:

/

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);

However, I unable able to add array to 'orderby'. According this:

/

'orderby'  => array(
    'event_start_date' => 'ASC',
    'event_end_date' => 'ASC',
),

Can anyone give me some idea, how I change the 'orderby'?

Thanks!

I have create Revolution Slider which load the custom post type, Events. There are two custom fields, Event Start Date and Event End Date. I would like to display order by Start and End date. Because now only able order by Start date and if same Start date, then will order by Title.

Here is what I found from Revolution Slider website:

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);

However, I unable able to add array to 'orderby'. According this:

http://www.billerickson.net/wp-query-sort-by-meta/

'orderby'  => array(
    'event_start_date' => 'ASC',
    'event_end_date' => 'ASC',
),

Can anyone give me some idea, how I change the 'orderby'?

Thanks!

Share Improve this question asked Nov 9, 2016 at 3:54 AntTeam ElvinAntTeam Elvin 312 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

To order by event-end date or start date, your write separate function and call them as per requirement. For example if user clicks on order by start then start function should be called.

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;

}
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1736258564a522.html

最新回复(0)