説明
get_users() は、条件を指定してユーザーを複数取得する関数です。
基本構文
get_users( array $args = array() ): array
引数
$args:role、orderby、number、search、fieldsなど
戻り値
ユーザーの配列。
使い方(サンプル)
$editors = get_users( array( 'role' => 'editor' ) );
注意点
- 既定ではユーザーオブジェクト(
WP_User)の配列が返ります。fieldsで取得項目を絞れます。 - 数が多いサイトでは、
numberとpagedで件数を絞ります。
実務での使いどころ
- 特定のロールのユーザーを、一覧で取得するとき。
- 投稿者の一覧を、ページに出すとき。
- IDだけが必要なとき(
'fields' => 'ID')。
よくあるミスと対処
numberを指定せず、ユーザーが多いサイトで、大量のデータを取得してしまう。roleを指定せず、すべてのロールのユーザーが対象になる。- 必要な項目だけでよいのに、
fieldsを指定せず、すべてのデータを取得している。
NG例
$users = get_users(); // ユーザーが多いと、重くなる
OK例
$users = get_users( array(
'role' => 'author',
'number' => 20,
'orderby' => 'display_name',
) );
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| 条件に合うユーザーを一覧取得 | get_users() |
| ロール別の人数を取得 | count_users() |
| 1人を取得 | get_user_by() |
関連項目
公式リファレンス:get_users() | Function | WordPress Developer Resources

コメント