企業サイトのオウンド化が進み、複数名でWordPressを運用する機会が増えてきていると思われます。 そんな時にユーザー一覧ページが欲しい!なんて要望があることを想定してプラグインを使わずにユーザー一覧ページを作成してみます。
ユーザー一覧ページの作り方
固定ページのスラッグは任意に設定できる前提です。
- 固定ページを作成します。
- page.phpを複製してpage-手順1で作成したスラッグ名.phpにリネームします。
- 以下で紹介するソース例をコピペします。
- 必要に応じて項目を精査して完成です。
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
- 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
まぁまぁ手軽にできますね!もっと調べるとユーザー周りも、いろいろカスタマイズできるみたいなのですが、またの機会に!