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

 

 

おすすめの記事