count_users

説明

array count_users( [ string $strategy = 'time' [, int $site_id = null ] ] )
役割別のユーザ数を取得する。

パラメータ

  • $strategy
    集計方法として'time'または'memory'を指定(省略時は'time')。
  • $site_id
    [4.9.0]マルチサイト時にサイトIDを指定(省略時はnull)。

返り値

全ユーザ数と役割別のユーザ数を格納した連想配列を返す。

array(2) {
  ["total_users"]=>
  int(2)
  ["avail_roles"]=>
  array(3) {
    ["administrator"]=>
    int(1)
    ["subscriber"]=>
    int(1)
    ["none"]=>
    int(0)
  }
}

注意

パラメータ$strategyに指定する値は、著しく大量のユーザがいない限り'time'(時間優先)で問題ないと思われるが、メモリー不足でエラーになることを危惧するなら'memory'を指定する方が無難と思われる。

[4.4.0]返り値の配列["avail_roles"]["none"]に役割なしのユーザ数が格納されるようになった。

[4.9.0]パラメータ$site_idが追加され、マルチサイトの場合に任意のサイトから対象情報を取得できるようになった。

[5.1.0]ユーザー数を集計する前に'pre_count_users'フィルターが追加された。このフィルターでnull以外を返すと、集計は行われず、その値が本関数の返り値となる。


使用例

  • 現在のサイトにて役割別のユーザ数を取得する。
    <?php $users = count_users(); ?>
  • サイトIDが3のサイトから役割別のユーザ数を取得する。
    <?php $users = count_users( 'time', 3 ); ?>

フィルター

[5.1.0]ユーザー数の集計前に'pre_count_users'フィルターを呼び出す。パラメータ$resultにはnullが、$strategyには受け取った内容が, $site_idにはサイトIDが格納されている。
$pre = apply_filters( 'pre_count_users', $result, $strategy, $site_id );

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/user.php

最終更新 : 2019年03月01日 13:51



お勧め

フィードにサムネイル画像を追加する(2022年11月1日 更新)

WordPressが出力するの標準のフィードには、各投稿のサムネイル画像の情報が含まれていない。ネットで検索してみるといくつかの方法があることがわかったので、その中から2つ試してみた。

投稿一覧に「投稿フォーマット」フィルターが追加される(2019年4月12日 更新)

WordPress 5.2 Beta2(以降5.2Beta2)のソースコードを眺めていると、投稿一覧ページのフィルター機能に「投稿フォーマット」(select要素)が追加されていた。

5.5の機能強化:コメントフォームのちょっとした改良(2020年8月12日 更新)

来月にリリースされるWordPress 5.5に向けてBeta 1、2、3と公開が続いている。「WordPress 5.5 Beta 3(以降Beta 3)」のソースコードを見ていくと、コメントフォームを表示する comment_form関数が機能拡張されていた。

Login rebuilderに「XML-RPC設定」を追加しました(2018年5月27日 更新)

公式サイトで公開しているプラグイン「Login rebuilder」をバージョンアップし、XML-RPCリクエストの管理機能を追加しました。Login rebuilderの主たる機能は、ログインページをサイト別にユニークなURLに変更し、ログインページへの不正アクセスを回避することです。WordPressのXML-RPCリクエストはピンバックや外部ツールやサイトなどとの連携に利用されていますが、今回追加した機能ではXML-RPCリクエストの処理に対していくつかの制限できるようにしています。

index.htmlでアーカイブページを表示させる(2011年10月14日 更新)

静的なサイトでは、各ディレクトリにindex.htmlファイルを置き、そのディレクトリの内容を紹介することが多い。WordPressで構築したサイトも同様にできないかと考え、試行錯誤してみた(こんなことを考えてるのは自分だけだろうか!?)。