it-swarm.com.de

So erhalten Sie den WordPress-Benutzernamen im Array-Format

Ich möchte eine Autocomplete-Funktion in WordPress erstellen. Ich möchte ein Suchfeld, in dem Benutzername gesucht werden kann. Ich verwende folgende JQuery-Benutzeroberfläche.

<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>

Mein Problem ist, dass ich die Liste der Benutzernamen in diesem Format - array('John', 'Rogers', 'Paul', 'Amanda', 'Peter'); nicht bekommen kann. Wie bekomme ich das?

10
Minesh

Die anderen Antworten sind korrekt, aber mit wp_list_pluck() ist es möglich, dasselbe mit weniger Code zu erreichen:

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

wp_list_pluck(), das auf diese Weise verwendet wird, ruft das display_name-Feld aller Benutzer in einem Array ab, ohne dass eine Schleife ausgeführt werden muss.

14
Jacob Peattie

Mit der Funktion get_users erhalten Sie eine Reihe von Benutzerobjekten, aus denen Sie eine Reihe von Benutzernamen extrahieren können. So was:

$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;
}

Jetzt ist $user_names ein Array mit Anmeldenamen. Natürlich können Sie auch user_nicename, last_name oder andere Informationen verwenden, die im Objekt wp_user verfügbar sind

3
cjbj

Schauen Sie sich die Funktion get_users() an.

<?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;
}

Und Sie erhalten das Array ähnlich wie folgt:

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

Ich bin mir ziemlich sicher, dass Sie Administratoren, Auftragsnamen usw. ausschließen möchten. Schauen Sie sich also die Dokumentation an, um weitere Argumente für get_users() herauszufinden.

3
Max Yudin