Yritän tehdä taulukon käyttäjistä roolityypin mukaan. Mikä on parhaiden käytäntöjen mukainen tapa saada käyttäjätunnus? Tavoitteenani on tulostaa kukin käyttäjä & sukunimet, käyttäjänimi ja sähköpostiosoite.

Minulla on nyt:

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

Huomaa: Yllä olevassa esimerkissä käyttäjätunnuksen saaminen ei toimi.

Koodeksiviite: get_users ()

Vastaa

Koodisi ei toimi, koska käytät $bloguser -merkkiä $user.

Eikä ole mitään syytä kutsua get_userdata () -ohjelmaa, koska get_users () palauttaa jo käyttäjäobjektit:

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

kommentit

  • Ylimääräisen koodin pudottaminen toimii wp_users -taulukkoon tallennettujen tavaroiden kohdalla. Etunimi / sukunimi on kuitenkin meta ja tallennettu kansioon wp_usermeta. [Olen ' varma, että tiedät tämän jo :)] Joten $user->user_firstname -toiminnon käyttäminen ei ole ' t laittaa mitään. Mitä en ymmärrä? Kiitos @Scribu
  • get_users suorittaa liitoksen metataulukkoon ja kenttien param oletusasetuksena on all, jotta metadatan pitäisi palata kyselyyn (ellei annettu arvo ole ' t, joka on tällä hetkellä asetettu tietylle käyttäjälle). Varmista, että käyttäjillä ', jotka eivät näe etunimeä varmasti, on yksi joukko.

Vastaa

Koodisi ei toimi, koska foreach -silmukassa get_userdata($bloguser->user_id); -rivi, $bloguser on tuntematon objektimuuttuja. Kokeile tätä koodia:

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

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *