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
Niko 1 month 2023-02-06T06:21:24-05:00 0 Answers 0 views 0

Leave an answer

Browse
Browse