Support

Account

Home Forums Backend Issues (wp-admin) WP Query – Multiple values in ACF Checkbox Reply To: WP Query – Multiple values in ACF Checkbox

  • I’ve taken what you’ve suggested on board here John – thanks for the input. I understand and can see how it should definitely work. However, the OR relation is behaving like an AND relation, and I can’t work out why.

    Here’s what I have now:

    $past_args = array(
     'post_type' => 'event',
     'meta_query' => array(
     'relation' => 'AND',
     array(
      'relation' => 'OR',
      // check to see if end date has been set
      array(
       'key' => 'end_date',
       'compare' => 'BETWEEN',
       'type' => 'NUMERIC',
       'value' => array($date_1, $date_2),
      ),
      // if no end date has been set use event/start date
      array(
       'key' => 'start_date',
       'compare' => 'BETWEEN',
       'type' => 'NUMERIC',
       'value' => array($date_1, $date_2),
      )
     ),
     array(
      'relation' => 'OR',
      // check event is not cancelled
      array(
       'key' => 'status',
       'value' => '"Cancelled"',
       'compare' => 'NOT LIKE'
      ),
      // check event is not excluded from past events
      array(
       'key' => 'status',
       'value' => '"Exclude Past"',
       'compare' => 'NOT LIKE'
      )
     )
    ),
    'orderby' => 'meta_value_num',
    'order' => 'DESC',
    'nopaging' => false,
    'posts_per_page' => '9999'
    );

    The OR in the date clause is working fine. In the second set of queries (against the ACF checkbox) though, I am seeing all events with either checkbox value, and only missing those with BOTH values checked. This is what i would expect of an AND relation, no?

    I removed the date clause entirely to try and isolate this but even then I can’t get the query to return events with only one of those two options checked.

    Thanks.