ロールタイプごとにユーザーのテーブルを作成しようとしています。ユーザーIDを取得するためのベストプラクティスの方法は何ですか?私の目標は印刷することです各ユーザーの最初の&姓、ユーザー名、メールアドレス。

現在の内容:

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

注:上記の例では、ユーザーIDの取得は機能しません。

コーデックスリファレンス: get_users()

回答

ivの代わりに$bloguserを使用しているため、コードが機能しませんid = “774f647495″>

get_users()はすでにユーザーオブジェクトを返すため、get_userdata()を呼び出しても意味がありません。

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

コメント

  • 冗長コードの削除は、wp_usersテーブルに保存されているものに対して機能します。ただし、名前/姓はメタであり、wp_usermetaに保存されます。 [I 'これはすでに知っていると思います:)]したがって、$user->user_firstnameを使用することは'ではありません。 t何かを出す。何がわからないの?ありがとう@Scribu
  • get_usersはメタテーブルへの結合を実行し、フィールドパラメータはデフォルトでallになります。メタデータはクエリで返される必要があります(指定された値が現在指定されたユーザーに設定されていない場合')。 'の名が表示されていないユーザーに1つのセットがあることを確認します。

回答

foreachループget_userdata($bloguser->user_id);行、は不明なオブジェクト変数です。次のコードを試してください:

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です