Pesquise usuário por campos personalizados (user_meta) no front end
Eu tenho uma grande quantidade de usuários que estou exibindo no front end comWP_User_Query
.
Eu tenho uma função de pesquisa nesse banco de dados de usuário front-end e preciso pesquisar por campos personalizados, nos quais cada perfil possui vários.
Atualmente, o mecanismo de pesquisa pesquisará campos de usuário wp padrão, como 'user_firstname', 'user_lastname', mas não pesquisará meus campos personalizados ('instituição' e 'equipamento' neste exemplo) e não sei por que.
A pergunta:
$search = ( isset($_GET['search-meta']) ) ? sanitize_text_field($_GET['search-meta']) : false ;
if ($search){
$my_users = new WP_User_Query(
array(
'role' => 'Subscriber',
'search' => '*' . $search . '*',
'fields' => 'all',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'institution',
'value' => '*' . $search . '*',
'compare' => 'LIKE'
),
array(
'key' => 'equipment',
'value' => '*' . $search . '*',
'compare' => 'LIKE'
)
)
));
}
O formulário de pesquisa:
<form method="get" id="db-search" action="<?php the_permalink() ?>">
<input type="text" class="field" name="search-meta" id="s" placeholder="Search Database" />
<button type="submit"><i class="fa fa-search"></i></button>
</form>