WordPressでプラグインを使わずにユーザー一覧ページを作る

WordPressでプラグインを使わずにユーザー一覧ページを作るのアイキャッチ画像

企業サイトのオウンド化が進み、複数名でWordPressを運用する機会が増えてきていると思われます。 そんな時にユーザー一覧ページが欲しい!なんて要望があることを想定してプラグインを使わずにユーザー一覧ページを作成してみます。

ユーザー一覧ページの作り方

固定ページのスラッグは任意に設定できる前提です。

  1. 固定ページを作成します。
  2. page.phpを複製してpage-手順1で作成したスラッグ名.phpにリネームします。
  3. 以下で紹介するソース例をコピペします。
  4. 必要に応じて項目を精査して完成です。

get_usersでユーザーの情報を取得

ユーザー情報はget_usersで取得します。パラメーターはCodexをご参照ください。

ソース例

パラメーターはCodexからコッピってきたものに必要な箇所のみ変更しています。

<?php $args = array(
'role'         => '',
'meta_key'     => 'last_name',
'meta_value'   => '',
'meta_compare' => '',
'meta_query'   => array(),
'date_query'   => array(),
'include'      => array(),
'exclude'      => array('1'),
'orderby'      => 'meta_value',
'order'        => 'ASC',
'offset'       => '',
'search'       => '',
'number'       => '',
'count_total'  => false,
'fields'       => 'all',
'who'          => ''
);
$getusers = get_users($args);
foreach($getusers as $user): 
?>
<div class="staff-item"> 
<p class="staff-photo"><?php echo get_avatar($user->id); ?></p>
<h2><?php echo $user->display_name; ?></h2> 
<p class="staff-prof"><?php echo $user->user_description; ?></p> 
<p class="common-link"><a href="<?php echo home_url(); ?>/?author=<?php echo $user->id; ?>"><?php echo $user->display_name; ?>の記事一覧</a></p>
</div>
<?php endforeach; ?>

出力できる主な情報

ユーザーIDとかパスワードは忘れた時に便利かもですね!超危ないですけど・・・。

IDユーザーid
user_loginログインID
user_passパスワード
user_nicenameニックネーム
user_emailメールアドレス
user_urlウェブサイト
user_registered登録日時
display_nameブログ上の表示名
first_name
last_name
nicknameニックネーム
descriptionプロフィール情報
user_levelユーザーレベル※非推奨
admin_color管理画面のテーマ

並び順

並び順を変更することも可能です。上のソース例は任意の順番に並べ替えたくてスマートじゃありませんがlast_nameに数値を入力して任意の順番に並べ替えれるようにしています。 orderbyに設定できる値は以下の通り。

  • ID
  • login
  • nicename
  • email
  • url
  • registered
  • display_name
  • post_count
  • meta_value

meta_valueを設定する場合はmeta_keyも指定する必要あります。meta_keyに指定できる値は以下の通り。

  • first_name
  • last_name
  • nickname
  • description
  • user_level
  • admin_color
  • closedpostboxes_page
  • primary_blog
  • rich_editing
  • source_domain

まぁまぁ手軽にできますね!もっと調べるとユーザー周りも、いろいろカスタマイズできるみたいなのですが、またの機会に!