WordPress User Query with And/Or arguments

I’m attempting to output a list of WordPress users using new WP_User_Query( $args ). The list is made up only of ‘Special Members’ and ‘Superspecial Members’:

I am currently using the following ‘OR’ relation meta_query as my $args to achieve this:

Read More
// the Args
$args = array(
    'meta_query' => array(
        'relation' => 'OR', 
         array(
            'key' => 'access', 
            'value' => 'Special Member',
            'compare' => '=',
    ), 
    array(
        'key' => 'access', 
        'value' => 'Superspecial Member', 
        'compare' => '=',
    ),
  )
);

I’d also like to order the outputted list by user last name (as below). Is there some way to add this to the above set of args as an ‘And’ relation? I have tried appending to the ‘Superspecial Member’ array, but this breaks the code.

$args = array(
    'orderby'   => 'meta_value',
    'order' => 'ASC',
    'meta_key'  => 'last_name',
);

Any ideas?

Related posts

Leave a Reply

1 comment

  1. Don’t you want to just do something like this?

    $args = array(
        'orderby'       => 'meta_value',
        'order'         => 'ASC',
        'meta_key'      => 'last_name',
        'meta_query'    => array(
                                'relation' => 'OR', 
                array(
                    'key'       => 'access', 
                    'value'     => 'Special Member',
                    'compare'   => '=',
                ), 
                array(
                    'key'       => 'access', 
                    'value'     => 'Superspecial Member', 
                    'compare'   => '=',
                )
      )
    );