[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タグが入力されている場合はタグとして解釈される
jabberjabber/Google Talkjabber、Google Talkサービスの項目
aimAIMAOLインスタントメッセンジャーの項目
yimYahoo IMYahoo!メッセンジャーの項目
user_level権限グループ管理者:10
編集者:7
投稿者:2
寄稿者:1
購読者:0
comment_shortcutsキーボードショートカットtrue:有効
false:無効
rich_editingビジュアルエディター使用有無true:ビジュアルリッチエディターを使用しない
false:ビジュアルリッチエディターを使用する
admin_color管理画面の配色設定classic:ブルー
fresh:グレー
plugins_per_page1ページあたりのプラグイン数?不明(空だった)
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.