Buscar usuario por campos personalizados (user_meta) en el front-end
Tengo una gran cantidad de usuarios que estoy mostrando en el front-end conWP_User_Query
.
Tengo una función de búsqueda en esta base de datos de usuario front-end, y necesito poder buscar por campos personalizados, que cada perfil tiene.
Actualmente, el motor de búsqueda buscará campos de usuario estándar de wp como 'user_firstname', 'user_lastname', pero no buscará en mis campos personalizados ('institución' y 'equipo' en este ejemplo), y no estoy seguro de por qué.
La consulta:
$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'
)
)
));
}
El formulario de búsqueda:
<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>