J'essaie de créer une requête avec WP User Query où il est possible d'effectuer une recherche après
Ce sont mes arguments:
$ args = array ( 'role' => 'author', 'number' => $ limit, 'offset' => $ offset, 'order' => $ order_sort, 'orderby' => $ order_by, 'search' => '*'. esc_attr ($ search_str). '*', 'meta_query' => tableau ( 'relation' => 'AND', tableau ( 'key' => 'reg_complete', 'valeur' => 1, 'comparer' => '=', ), tableau ( 'relation' => 'OR' , array ( 'key' => 'prenom', 'valeur' => $ search_str, 'compare' => 'LIKE' ), array ( 'key' => 'dernier nom', 'valeur' => $ search_str, 'compare' => 'LIKE' ) ), ) );
fonctionne bien si on cherche après le nom/prénom ... mais ne correspond pas aux noms/email
aucune idée de comment résoudre ce problème?
edit: supprime les search_columns de args et ajoute ce filtre:
add_filter ('user_search_columns', 'my_user_search_columns', 10, 3); function my_user_search_columns ($ search_columns, $ search, $ this, $ this) { $ search_columns [] = 'user_email'; $ search_columns [] = 'user_nicename'; return $ search_columns; }
Mêmes résultats qu'avant les changements
Vous devez utiliser le filtre user_search_columns
pour ajouter les colonnes sur lesquelles vous souhaitez effectuer une recherche.
Le filtre user_search_columns est utilisé pour déterminer quels champs d'utilisateur de la base de données sont utilisés lors d'une recherche d'informations sur l'utilisateur.
https://codex.wordpress.org/Plugin_API/Filter_Reference/user_search_columns