1

I'm trying to query two custom post types - I want all research_article to return, but only events that are in the future. My events are working as expected, but I'm not getting any research_article posts appearing. What's going wrong here?

$today = date( 'Y-m-d' );
        $args = array(
            'post_type'   => array('research_article', 'events'),
            'meta_key'    => 'wpcf-date_time',
            'post_status' => 'publish',
            'orderby'     => 'meta_value',
            'order'       => 'DESC',
            'meta_query' => array(
                array(                    // THIS ONE WORKS
                'key' => 'wpcf-date_time',
                'value' => $today,
                'compare' => '>=',
                'type' => 'DATE',
                ),
                array(
                  'key'      => 'pub_date', // THIS DOESNT WORK
                  'compare'  => 'EXISTS'
                ),
                'relation' => 'OR',
            )
             );
1
  • Looks sensible to me. I'd probably try and find the SQL that WordPress is using, e.g. from the Query Monitor plugin, and work out what's wrong with it. – Rup Mar 22 at 0:10
0

So the issue seemed to be with my second meta_query array - instead of checking if pub_date EXISTS, I decided to check if wpcf-date-time DOESNT EXIST:

$today = date( 'Y-m-d' );
        $args = array(
            'post_type'   => array('research_article', 'events'),
           'posts_per_page' => 10,
            'post_status' => 'publish',
            'orderby'     => 'meta_value date',
            'order'       => 'DESC',
            'meta_query' => array(
                array( 
                'key' => 'wpcf-date_time',
                'value' => $today,
                'compare' => '>=',
                'type' => 'DATE',
                ),
                array(
                  'key'      => 'wpcf-date_time',
                  'compare'  => 'NOT EXISTS'
                ),
                'relation' => 'OR',
            )
        );

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.