WP_User_Query Orderby Not Working

Question

If I use the following code, I can retrieve users in the correct order:

$user_query = new WP_User_Query( array( 
    'role__in'    => wp_parse_list( $atts['userrole'] ),
    'meta_query' => array(
          'relation' => 'AND',
          array(
              'key' => $atts['key'],
              'value' => $atts['value'],
          ),
          array(
              'key' => $evalMonth,
              'value' => $evalTypes,
              'compare' => 'NOT IN',
          ),
     ),
     'orderby' => 'meta_value_num',
     'order' => 'ASC',
) );

But after I add the “OR” array, it no longer orders them correctly:

$user_query = new WP_User_Query( array( 
    'role__in'    => wp_parse_list( $atts['userrole'] ),
    'meta_query' => array(
          'relation' => 'AND',
          array(
              'key' => $atts['key'],
              'value' => $atts['value'],
          ),
          array(
              'relation' => 'OR',
              array(
                  'key' => $evalMonth,
                  'value' => $evalTypes,
                  'compare' => 'NOT IN',
              ),
              array(
                  'key' => $evalMonth,
                  'value' => $evalTypes,
                  'compare' => 'NOT EXISTS',
              ),
          ),
     ),
     'orderby' => 'meta_value_num',
     'order' => 'ASC',
) );

Any suggestions on how I can fix this?

0
, , , , John Smithly 4 years 2019-11-04T12:31:22-05:00 0 Answers 87 views 0

Leave an answer

Browse
Browse