WordPressで複数のユーザーそれぞれのプロフィール情報を表示させる方法!the_author_metaの使い方

WordPressのthe_author_metaの使い方

こんにちは、メディア事業部ウェブディレクターのコネル飯塚です。

複数人でブログを運営している場合、ユーザーそれぞれのプロフィール情報はもちろん異なります。
WordPressの管理画面から「ユーザー」→「ユーザー一覧」からそれぞれのユーザーのプロフィールを編集することができます。
ユーザー名の変更はできませんが、名、性、ニックネーム、ブログ上の表示名、メールアドレス、ウェブサイト、プロフィール情報などを追加・変更することができます。

WordPressのプロフィール編集

今回はそれぞれに設定されているプロフィール情報を記事やユーザーページに表示させる簡単な方法を説明していきます。

the_author_meta テンプレートタグの使い方

それぞれのユーザーが持っているプロフィール情報(メタデータ)を表示するために「the_author_meta」というテンプレートタグを使います。

[php] //使用方法
<?php the_author_meta( $field, $userID ); ?>
[/php]

$userIDについて

上記のテンプレートタグにある「$userID」はそれぞれのユーザーが持っているユーザーIDを指定することができます。そこに指定されたIDを持ったユーザーのプロフィール情報が表示されます。

しかし、こちらのテンプレートタグをループダグ内で使用した場合は、「$userID」ユーザーIDを指定していなくても、記事投稿ユーザーのプロフィール情報を表示させることができます。
ループダグ外で使いたい場合は、ユーザーIDを指定することにより、プロフィール情報が表示されます。
もちろん、プロフィール情報(メタデータ)を管理画面から入れていない場合は、表示されません。

$fieldについて

「$field」はそれぞれのユーザーが持っているプロフィール情報から何を表示させたいのか?そのデータであるフィールド名を指定してあげます。

使用できる「$field」フィールド名は下記になります。

「ユーザーID」
ID

「ログイン名」
user_login

「パスワード」
user_pass

「ニックネーム」
user_nicename

「メールアドレス」
user_email

「ユーザーのWEBサイトURL」
user_url

「ユーザーの登録された日」
user_registered

「アクティベーションキー」
user_activation_key

「ユーザーステータス」
user_status

「表示名」
display_name

「ニックネーム」
nickname

「名前」
first_name

「苗字」
last_name

「プロフィール情報」
description

「ユーザーの権限」
user_level

「名前」
user_firstname

「苗字」
user_lastname

「プロフィール情報」
user_description

「リッチエディタ」
rich_editing

「コメントショートカット」
comment_shortcuts

「管理画面で選択している色」
admin_color

「プラグイン数」
plugins_per_page

「最後に見たプラグイン名」
plugins_last_view

すべて使うことはないかもしれませんが、「表示名」「メールアドレス」「ユーザーID」「プロフィール情報」などよく使われるものはチェックしてみてください!

the_author_meta テンプレートタグの使用例について

それでは先程のテンプレートタグの使用方法を見ながら参考例を挙げていきます。

[php] //使用方法
<?php the_author_meta( $field, $userID ); ?>
[/php]

例えば、ユーザーIDが「3」の人のメールアドレスを表示させたい場合

[php] <?php the_author_meta( 'user_email', 3 ); ?>
[/php]

次に、ループ内で投稿者それぞれのメールアドレスを表示させたい場合

[php] <?php the_author_meta( 'user_email' ); ?>
[/php]

あとは、任意の場所で表示させたい「$field」フィールド名に変更して使っていただければと思います。

ユーザーページを確認する

サイトURLのあとに「/author/[ユーザー名]」を入力するとそれぞれのユーザーのアーカイブページが表示されます。

[html] http://sample.com/author/[ユーザー名] [/html]

「author.php」や「archive.php」などのテンプレートを特に設置していない場合は「index.php」でユーザーページが表示されます。

いまご覧いただいているこのホワイトベアーブログもブログ作成時点では「author.php」は設置しておらず、ユーザーページのURLでアクセスしてきた場合のみ表示させる条件分岐タグ「is_author();」を「index.php」の中で使用しております。

[php] //条件分岐タグの例
<?php if ( is_author()) : ?>
//ユーザーページで表示させたいコンテンツ
<?php endif; ?>
[/php]

まとめ プロフィール情報の表示

ブログに記事投稿者それぞれのプロフィール情報が掲載されていると、記事の背景がわかったり、もっと深く記事を読んで内容を知ってもらうことが出来るのではないでしょうか?

さらに、「functions.php」に少しのコードを追加するだけで、管理画面に新たな項目(twitter、facebookのアドレスなど)を追加したりする方法もあるので下記のブログで紹介しております。

ユーザープロフィールの項目を新たに追加する方法

Twitter(@coneru_iizuka)などもやっておりますので、どんなことでもお気軽に交流していただければと思います。

ABOUTこの記事をかいた人

高校の卒業アルバムの「みんな一言」の欄に、安易につまらないことを書き残してしまいました。言葉は本当に難しいです。気を付けます、特にここは真面目な会社なので。