Jeg prøver å lage en tabell over brukere etter rolletype. Hva er den beste fremgangsmåten for å få bruker-ID? Målet mitt er å skrive ut hver bruker først & etternavn, brukernavn og e-post.

Hva jeg har nå:

$get_admins = array( "blog_id" => $GLOBALS["blog_id"], "role" => "administrator", ); $blogusers = get_users($get_admins); foreach ($blogusers as $user) { $userid = get_userdata($bloguser->user_id); $user_info = get_userdata($userid); echo "<tr>"; echo "<td>". $user_info->user_firstname ."</td>"; echo "<td>". $user_info->last_name ."</td>"; echo "<td>". $user->user_login ."</td>"; echo "<td>". $user->user_email ."</td>"; echo "</tr>"; } 

Merk: I eksemplet mitt ovenfor fungerer det ikke å få bruker-ID.

Kodeksreferanse: get_users ()

Svar

Koden din fungerer ikke fordi du bruker $bloguser i stedet for $user.

Og det er ikke noe poeng i å ringe get_userdata () siden get_users () allerede returnerer brukerobjekter:

foreach ($blogusers as $user) { echo "<tr>"; echo "<td>". $user->first_name ."</td>"; echo "<td>". $user->last_name ."</td>"; echo "<td>". $user->user_login ."</td>"; echo "<td>". $user->user_email ."</td>"; echo "</tr>"; } 

Kommentarer

  • Å slippe den overflødige koden fungerer for ting som er lagret i wp_users -tabellen. For- / etternavnet er imidlertid meta og lagret i wp_usermeta. [Jeg ' er sikker på at du allerede vet dette :)] Så å bruke $user->user_firstname isn ' t å legge ut noe. Hva forstår jeg ikke? Takk @Scribu
  • get_users utfører en sammenkobling til metatabellen, og feltene param er som standard all metadata skal komme tilbake i spørringen (med mindre en gitt verdi ikke er ' t som er angitt for den eller de gitte brukerne). Bekreft brukerne du ' ikke ser et fornavn for definitivt har ett sett.

Svar

Koden din fungerer ikke fordi i foreach loop get_userdata($bloguser->user_id); linje, $bloguser er en ukjent objektvariabel. Prøv denne koden:

$get_admins = array( "role" => "admin", "orderby" => "user_nicename", "order" => "ASC" ); $blogusers = get_users( $get_admins ); echo "<ul>"; foreach ( $blogusers as $user ) { echo "<li>" . $user->first_name . "</li>"; echo "<li>" . $user->last_name . "</li>"; echo "<li>" . $user->user_login . "</li>"; echo "<li>" . $user->user_email . "</li>"; } echo "</ul>"; 

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *