Jeg prøver at lave en tabel over brugere efter rolletype. Hvad er den bedste metode til at få bruger-idet? Mit mål er at udskrive hver bruger først & efternavne, brugernavn og e-mail.

Hvad jeg har nu:

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

note: I mit eksempel ovenfor fungerer det ikke at få bruger-idet.

Codex-reference: get_users ()

Svar

Din kode fungerer ikke, fordi du “bruger $bloguser i stedet for $user.

Og der er ingen mening i at ringe til get_userdata (), da get_users () allerede returnerer brugerobjekter:

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

  • At slippe den overflødige kode fungerer for ting, der er gemt i wp_users -tabellen. For- / efternavn er dog meta og gemt i wp_usermeta. [Jeg ' er sikker på at du allerede ved dette :)] Så ved at bruge $user->user_firstname isn ' t lægger noget ud. Hvad forstår jeg ikke? Tak @Scribu
  • get_users udfører en sammenføjning til metatabellen, og felterne parametreres som standard til all metadata skal komme tilbage i forespørgslen (medmindre en given værdi ikke er ' t, der aktuelt er angivet for den eller de givne brugere). Bekræft de brugere, du ' ikke ser et fornavn til bestemt har et sæt.

Svar

Din kode fungerer ikke, fordi i foreach loop get_userdata($bloguser->user_id); linje $bloguser er en ukendt objektvariabel. Prøv denne kode:

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

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *