[WordPress]ユーザ情報を表示(追加/変更)する the_author_meta
- 11 11月, 2013
WordPressの投稿には作成者がおり、複数のユーザによって記事が作成されるサイトでは、署名のような形でページに表示されることが多いです。ユーザの属性(項目)の取得方法について書き残します。
目次
関数定義
以下のようになります。
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.系の古いやつではなぜか表示されない場合がありました。
終わりに
あまり使う機会が無いだけに、一度調べても直ぐに忘れてしまうんですよね。書き残しておくってやっぱり大切なことですね。