web-dev-qa-db-fra.com

Comment obtenir un nom d'utilisateur WordPress au format Array

Je veux créer une fonction de saisie semi-automatique dans WordPress. Je veux un champ de recherche à partir duquel nom d'utilisateur peut être recherché. J'utilise l'interface utilisateur suivante de JQuery.

<label>Users</label>

<input type="text" name="user_name" id="user-name" />

<?php

$get_arr_user = array('John', 'Rogers', 'Paul', 'Amanda', 'Peter');

?>

<script>

jQuery(document).ready(function($) {                                
var availableTags = <?php echo json_encode($get_arr_user); ?>;
$( "#user-name" ).autocomplete({
source: availableTags
});
});

</script>

Mon problème est que je ne parviens pas à obtenir la liste des Noms d'utilisateur dans ce format - array('John', 'Rogers', 'Paul', 'Amanda', 'Peter'); Comment l'obtenir?

10
Minesh

Les autres réponses sont correctes, mais il est possible d’obtenir la même chose avec moins de code en utilisant wp_list_pluck() :

$users = get_users();
$user_names = wp_list_pluck( $users, 'display_name' );

wp_list_pluck() utilisé de cette façon obtiendra le champ display_name de tous les utilisateurs d'un tableau sans avoir besoin de faire une boucle.

14
Jacob Peattie

La fonction get_users vous donnera un tableau d'objets utilisateur, à partir duquel vous pourrez extraire un tableau de noms d'utilisateurs. Comme ça:

$args = array(); // define in case you want not all users but a selection
$users = get_users( $args );
$user_names = array();
foreach ( $users as $user ) {
    $user_names[] = $user->user_login;
}

Maintenant, $user_names est un tableau avec les noms de connexion. Bien sûr, vous pouvez également utiliser user_nicename, last_name ou toute autre information disponible dans le wp_user object

3
cjbj

Regardez la fonction get_users().

<?php

$users = get_users();

foreach( $users as $user ) {
    // get user names from the object and add them to the array
    $get_arr_user[] = $user->display_name;
}

Et vous obtiendrez un tableau semblable à celui-ci:

Array
(
    [0] => John Doe
    [1] => Jane Doe
    [2] => Baby Doe
)

Je suis sûr que vous voudrez exclure les administrateurs, les noms de commandes, etc. Alors, regardez la documentation pour en savoir plus sur les arguments get_users().

3
Max Yudin