Snažím se vytvořit tabulku uživatelů podle typu role. Jaký je nejlepší způsob získání ID uživatele? Mým cílem je tisknout každý uživatel nejprve & příjmení, uživatelské jméno a e-mail.

Co teď mám:

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

poznámka: Ve výše uvedeném příkladu nefunguje získání ID uživatele.

Odkaz na kodex: get_users ()

Odpověď

Váš kód nefunguje, protože místo iv používáte $bloguser id = „774f647495″>

.

A nemá smysl volat get_userdata (), protože get_users () již vrací uživatelské objekty:

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

Komentáře

  • Vyřazení nadbytečného kódu funguje u věcí uložených v tabulce wp_users. Jméno / příjmení je však meta a je uloženo v wp_usermeta. [I ' Určitě to už víte :)] Takže použití $user->user_firstname není ' t uhasit cokoli. Čemu nerozumím? Děkujeme, že @Scribu
  • get_users provede spojení s meta tabulkou a pole param má výchozí hodnotu all, takže metadata by se měla v dotazu vrátit (pokud daná hodnota není pro dané uživatele aktuálně nastavena '). Ověřte, že uživatelé, kterým ' nevidíte křestní jméno, určitě mají jednu sadu.

Odpovědět

Váš kód nefunguje, protože v foreach smyčce get_userdata($bloguser->user_id); řádku $bloguser je neznámá proměnná objektu. Vyzkoušejte tento kód:

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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *