Question

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',
            )
             );
Was it helpful?

Solution

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',
            )
        );
Licensed under: CC-BY-SA with attribution
Not affiliated with wordpress.stackexchange
scroll top