Searching for a custom meta from user.php in the admin
Question
I am trying to extend the standard user search to 1 specific custom usermeta.
I am following the great answer provided in this question.
I am still not able to get any result when I search for this custom meta (your_game_guid) value. Here is my function.php code:
add_action('pre_user_query','mxbs_extend_user_search');
function mxbs_extend_user_search( $u_query ){
if ( $u_query->query_vars['search'] ){
$search_query = trim( $u_query->query_vars['search'], '*' );
if ( $_REQUEST['s'] == $search_query ){
global $wpdb;
if (!isset($_GET['s'])){
return;
}else{
$queryArg = $u_query->query_vars[ 'search' ];
}
$count = $wpdb->get_var("SELECT COUNT(*) as nbr FROM {$wpdb->usermeta} WHERE {$wpdb->usermeta}.meta_key='your_game_guid' AND {$wpdb->usermeta}.meta_value="$queryArg"");
if($count >= 1 && !is_null($u_query->search_term)){
$search_meta = $wpdb->prepare("ID IN (
SELECT user_id
FROM {$wpdb->usermeta}
WHERE {$wpdb->usermeta}.meta_key='your_game_guid' AND {$wpdb->usermeta}.meta_value LIKE '%s'
))", $queryArg);
$u_query->query_where = str_replace(
'WHERE 1=1 AND (',
"WHERE 1=1 AND (" . $search_meta . " OR ",
$u_query->query_where
);
}
}
}
}
0
1 month
2023-02-06T06:21:24-05:00
2023-02-06T06:21:24-05:00 0 Answers
0 views
0
Leave an answer