説明
count_users() は、ユーザー数をロール別に集計する関数です。
基本構文
count_users( string $strategy = 'time', int|null $site_id = null ): array
引数
$strategy:time(速度重視)またはmemory$site_id:サイトID(マルチサイト)
戻り値
total_users と avail_roles を含む配列。
使い方(サンプル)
$counts = count_users();
var_dump( $counts['total_users'] );
注意点
- ユーザー数が多いと処理が重くなるため、結果をキャッシュすることを検討します。
実務での使いどころ
- ロール別のユーザー数を、管理画面などに表示するとき。
- 全体のユーザー数を取得するとき。
よくあるミスと対処
- 戻り値の構造を知らない。
total_users(全体)とavail_roles(ロール別)が入っている。 - ユーザーが多いサイトで、頻繁に呼んで、重くなる。結果をキャッシュする。
- 特定のロールの人数だけが欲しいときに、全ユーザーを取得して、数えている。
count_users()のavail_rolesから、ロール別の人数が取れる。
NG例
$count = count_users();
echo $count; // 配列なので、「Array」になる
OK例
$count = count_users();
echo (int) $count['total_users'];
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| ロール別・全体の人数 | count_users() |
| ユーザーの一覧 | get_users() |
| 1人を取得 | get_user_by() |
関連項目
get_users()、wp_get_current_user()
公式リファレンス:count_users() | Function | WordPress Developer Resources

コメント