Filtering and ordering by ACF
-
Hello, I have created something like Event manager with CPT + ACF. So I am using the “event_date” custom field (type datepicker), which could be simply different from publish_date (coming from WP core…).
I need to do two things now
1. Filter CPT, which are next, and which are past (based on $today variable – if greather than -> next, else past) – THIS IS DONE
2. Order posts by ACF – “event_date”, now my posts are ordered by publish date, which is not correct.This is my code:
function lava_show_next_events($query) { //var_dump($query); $today = date('Ymd'); $meta_query = $query->get( 'meta_query' ); if ( ! $meta_query ) { $meta_query = []; } $meta_query[] = array( 'key' => 'datum_zaciatku', 'value' => $today, 'compare' => '>', 'order_by' => 'datum_zaciatku', 'order' => 'ASC' ); //var_dump($meta_query); $query->set( 'meta_query', $meta_query ); //var_dump($query); } add_action( 'elementor/query/lava-next-events', 'lava_show_next_events',10 );
I am using Elementor with query ID, so I am trying to catch the query of CPT and update ordering. I was able to filter only future events, however ordering by ACF doesn’t work.
Note: datum_zaciatku means event_date ??
- The topic ‘Filtering and ordering by ACF’ is closed to new replies.