Information about how to use the wildcard user search in WP to properly populate things like JSON arrays for use with autocomplete JS.
WP_User_Query()
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Search for users by name and return a JSON object of matches | |
* | |
* An example method that demonstrates how to use wildcards (*'s) when | |
* looking up users. This particular example would be used to create | |
* a new endpoint that would output a JSON array of returned users. | |
* Something like this would be useful for JS autocomplete queries. | |
*/ | |
function skw_user_autocomplete( $search_term ) { | |
// Note the astrisks | |
$user_query = new WP_User_Query( array( | |
'search' => '*' . $search_term . '*', | |
) ); | |
// Get the results from the query, returning the first user | |
$users = $user_query->get_results(); | |
$user_ids = array(); | |
foreach( $users as $user ) { | |
$user_ids[] = array( | |
'ID' => $user->data->ID, | |
'label' => $user->data->user_login, | |
'display_name' => $user->data->display_name | |
); | |
} | |
header( 'Content-Type: application/x-json' ); | |
echo $json = json_encode( $user_ids ); | |
die; | |
} |