0

I would like to build one big query that is sorted by 2 custom fields (type date). I have a query that needs to have 2 post types ['track_trip', 'training']. Those 2 types have ACF custom fields that stand for future dates. ['date_track', 'date_training']. How should I combine my query to sort those types based on a custom field? Both are date type of course.

new WP_Query([
 'post_type' => ['tourist_trip', 'training'], 
 'post_status' => 'publish', 
 'meta_key' => 'date_tourist',  ??
 'orderby' => 'meta_value', 
 'order'=> 'ASC'];
])

Thanks guys for tips. I was able to solve it.

$args_track = [
      'post_type' => ['track_trip', 'training'],
      'post_status' => 'publish',
      'meta_query' => array(
                       'relation' => 'OR',
                      'date_track_sort' => array(
                       'key' => 'date_track',
                       'type' => 'DATE'
                      ),
                       'date_training_sort' => array(
                         'key' => 'date_training',
                         'type' => 'DATE'
                       ),
      )                     ,
      'orderby' => ['date_track_sort' => 'ASC', 'date_training_sort' => 'ASC']];
    ```

1
  • 1
    have you tried to use the meta_query parameter yet? There are a lot of parameters and examples documented at the official WP dev docs for WP_Query at developer.wordpress.org/reference/classes/wp_query/… including how to query meta fields and how to sort things. Your meta values will need to be in a particular format though, and if they aren't in that format you will need to contact ACF support or ask other ACF users how to fix that for your fields ( ACF/3rd party plugin support is offtopic here )
    – Tom J Nowell
    Dec 9, 2022 at 18:03

1 Answer 1

0

I'm not clear on whether you're looking for one big query that returns all the 'track_trip' and 'training' posts, sorted by the two different custom meta fields, or two separate queries. But either way, you'll need to use a custom meta_query. You will probably also need to orderby meta_value_datetime. Note in the "‘orderby’ with multiple ‘meta_key’s" section of the WP_Query documentation you can orderby an array of values, if that's what you're looking to do.

2
  • I would like to return one big query.
    – Masmiix
    Dec 9, 2022 at 17:28
  • @Masmiix can you update your original question with that?
    – Tom J Nowell
    Dec 9, 2022 at 18:02

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .