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
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>";
wp_users
-taulukkoon tallennettujen tavaroiden kohdalla. Etunimi / sukunimi on kuitenkin meta ja tallennettu kansioonwp_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 @Scribuget_users
suorittaa liitoksen metataulukkoon ja kenttien param oletusasetuksena onall
, 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.