I'm trying to build a query with WP User Query where it's possible to search after
- user_email
- user_nicename
- first_name
- last_name
This are my args:
$args = array(
'role' => 'author',
'number' => $limit,
'offset' => $offset,
'order' => $order_sort,
'orderby' => $order_by,
'search' => '*'.esc_attr( $search_str ).'*',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'reg_complete',
'value' => 1,
'compare' => '=',
),
array(
'relation' => 'OR',
array(
'key' => 'first_name',
'value' => $search_str,
'compare' => 'LIKE'
),
array(
'key' => 'last_name',
'value' => $search_str,
'compare' => 'LIKE'
)
),
)
);
working fine if searching after first / last name... but didnt match nicenames / email
any idea how to fix that?
edit: removed the search_columns from args and added this filter:
add_filter( 'user_search_columns', 'my_user_search_columns', 10, 3 );
function my_user_search_columns( $search_columns, $search, $this ) {
$search_columns[] = 'user_email';
$search_columns[] = 'user_nicename';
return $search_columns;
}
Same results as before the changes