
WordPressで複数のライターで1つのブログを運営していると、ライター一覧を表示したいときがあります。
そんなときは、「get_users()」関数を使用します。
ここでは、「get_users()」関数を使って色々なユーザー一覧を取得する方法について見ていきましょう。
目次
基本のユーザー一覧の取得方法
固定ページを作る
まずは、ユーザー一覧ページとして使用するページを固定ページで作ります。
タイトルとパーマリンクは各自好きな文字を入力してください。ここでは、タイトル「メンバー紹介」パーマリンク「/member」としましょう。本文は真っ白で良いです。
固定ページ用テンプレートを作成する
次に、先ほど作った固定ページをメンバー一覧ページとして使用するための専用のテンプレートを作成しましょう。
まず、FTPクライアントソフトを用いてWordPressテーマファイル内の「page.php」をコピーし、ファイル名を「page-○○.php」にリネームしましょう。
このファイル名にすることで、固定ページのテンプレートだとWordPressが認識してくれるようになります。
「get_header()」の前に、以下のようにテンプレート名を記述しましょう。
ちなみに、今回はわかりやすくファイル名を「page-writer.php」、テンプレート名を「メンバー紹介一覧」としています。
page-wirer.phpの中身
固定ページにテンプレートを適用する
テンプレートの準備ができたら、先ほど作った固定ページに適用しましょう。
固定ページを作成した画面の「固定ページの属性」にテンプレートを選択する部分があります。
作ったテンプレートが認識されていれば、先ほど設定したテンプレート名が表示されます。それを選択してページを更新しましょう。
テンプレート内にユーザー取得用のプログラムを記述する
表示側の準備が整ったら、取得側のプログラムを記述していきましょう。
ユーザー情報取得関数である「get_users()」の使い方は以下の通りです。
get_users()の使い方
get_user()のパラメータ
パラメータ | 説明 | 例 |
blog_id | ブログIDを指定 | 1 |
role | ロール(権限)を指定 | 'administrator'、'editor'、'author'、'contributor'、'subscriber'など |
meta_key | ユーザーメタ情報のキー名を指定 | 'wp_user_level' |
meta_value | ユーザーメタ情報の値を指定 | 5 |
meta_compar | ユーザーメタ情報の比較記号を指定 | '<'、'>'、'='、'!='など |
include | 取得するユーザーIDを配列で指定 | array(1,2) |
exclude | 除外するユーザーIDを配列で指定 | array(1,2) |
search | 検索キーワードを指定(キーワードの前後に'*'指定可) | 'ad*' |
search_columns | 検索項目 | 'ID'、'user_login'、'user_email'、'user_url'、'user_nicename'のいずれか |
orderby | ソート対象の項目名を指定 | 'user_nicename' |
order | ソート順 | 'ASC'または'DESC' |
offset | 取得位置を指定 | 10 |
number | 取得件数 | 5 |
fields | 取得する項目を配列で指定(省略時は全て取得) | array( 'ID', 'display_name' ) |
who | 'authors'以外は無効 | 'authors' |
get_user()の返り値
名前 | 説明 |
ID | ユーザーID |
user_login | ログイン名 |
user_pass | ログインパスワードのハッシュ値 |
user_nicename | ユーザー名 |
user_email | メールアドレス |
user_url | ホームページURL |
user_registered | 登録日時 |
user_activation_key | アクティベーションキー |
user_status | ステータス |
spam | スパムフラグ |
deleted | 削除フラグ |
ユーザー取得のカスタマイズ
ソート順を変更する
ソート順は、「get_users()」の「orderby」パラメータでキーを指定することによって設定できます。
キーは返り値ならどれでも設定することができます。
excludeパラメータ
excludeの使用例
特定のユーザーを除外してリストを取得する
特定のユーザーを除外したリストを取得する際には、「get_users()」関数呼び出し時にパラメータ「exclude」に除外したいユーザーIDを指定することによって実現できます。
除外IDは複数指定することができます。
excludeパラメータ
excludeの使用例
サンプルプログラム
このようなメンバーリストを表示するサンプルプログラムです。
page-writer.phpテンプレート
CSS