[WordPress]ユーザ情報を表示(追加/変更)する the_author_meta

  • 11 11月, 2013
WordPressの投稿には作成者がおり、複数のユーザによって記事が作成されるサイトでは、署名のような形でページに表示されることが多いです。ユーザの属性(項目)の取得方法について書き残します。

目次

  1. 関数定義
  2. パラメータ
  3. 実装例
  4. 項目の追加・削除
  5. 関連事項

関数定義

以下のようになります。

void the_author_meta( $field, $user_id );
  • 返却値は無し(自動でechoされる)※値が無い場合は””(0バイトの空白)
  • $fieldで取得したい項目を指定(下の「パラメータ」表を参照)
  • $user_idで取得したいユーザをを指定(省略時は現在の投稿データを持つユーザが自動で選択される)

WordPressループの中で実行する場合は、パラメータの$idを省略できます。
ユーザの一覧など複数のユーザ情報を表示したい場合は、$user_idを指定して分けましょう。

パラメータ

WordPressのバージョンによっては、使えないのがあるかもしれません。

$fieldパラメータ 項目名 説明
ID ユーザID ユーザ毎に一意の数字
user_login
user_nicename
ログイン名 管理画面にログインする際のユーザ名
user_pass パスワード 管理画面にログインするパスワード(暗号化済)
nickname ニックネーム 追加で登録できる別名
user_email メールアドレス 登録したメールアドレス
user_url ウェブサイト 登録したウェブサイトURL
user_registered 登録日時 ユーザが作成されたときの日時
(YYYY-MM-DD HH:MI:SS)※24時間表記
user_activation_key アクティベーションキー 何のことやら・・・
user_status ステータス 0正常(それ以外は不明・・・)
display_name ブログ上の表示名 選択した表示名
first_name
user_firstname
姓名の「名」部分
last_name
user_lastname
姓名の「姓」部分
description
user_description
プロフィール情報 HTMLタグが入力されている場合はタグとして解釈される
jabber jabber/Google Talk jabber、Google Talkサービスの項目
aim AIM AOLインスタントメッセンジャーの項目
yim Yahoo IM Yahoo!メッセンジャーの項目
user_level 権限グループ 管理者:10
編集者:7
投稿者:2
寄稿者:1
購読者:0
comment_shortcuts キーボードショートカット true:有効
false:無効
rich_editing ビジュアルエディター使用有無 true:ビジュアルリッチエディターを使用しない
false:ビジュアルリッチエディターを使用する
admin_color 管理画面の配色設定 classic:ブルー
fresh:グレー
plugins_per_page 1ページあたりのプラグイン数? 不明(空だった)
plugins_last_view 最終表示プラグイン? 不明(空だった)

実装例

WordPressループ内で使用する限りは、第2引数のユーザIDは省略できます。

「ユーザID」が”10”の「表示名」を出力

the_author_meta('display_name', 1);

「プロフィール情報」を出力(※ユーザID省略)

/* WordPressループ内 */
the_author_meta('description');

項目の追加/削除

使わないaimやyimなどを削除できます。またよく使うTwitterのアカウントやfacebookのURLなどなど、デフォルトの項目だけでは足りないことが多いと思いますが、下記のようにfunctions.phpに書き込むことで、項目の変更が可能です。

function change_user_meta($data){
	//不要な項目を削除します。

	unset($data['aim']);
	unset($data['yim']);

	//追加したい項目を定義します。

	$data['twitter'] = 'twitterアカウント'; // 画面に表示される項目名を設定
	$data['facebook'] = 'facebookのURL';

	return $data;
}

add_filter('user_contactmethods', 'change_user_meta', 10, 1);

これでユーザプロフィール画面をすっきり整理できますね。
追加した項目の取得もデフォルトの項目と一緒です。

追加した「twitter」を出力

the_author_meta('twitter', 1);

関連事項

※値を出力せずに受け取るには「get_the_author_meta」を使います。

※WordPressのバージョン3.系の古いやつではなぜか表示されない場合がありました。

終わりに

あまり使う機会が無いだけに、一度調べても直ぐに忘れてしまうんですよね。書き残しておくってやっぱり大切なことですね。


関連ワード: ,

Comments are closed.