WordPress ユーザープロフィール項目の調整

WP情報
WordPress ユーザープロフィール項目の調整

WordPressは登録ユーザー情報の管理が容易にできます。

簡単な(知り合い・仲良し)会員制サイトならば標準機能だけで十分構築できます。

会員制サイトについては後日説明するとして、今回はこのユーザー情報のプロフィール項目の調整についての話題です。

user_items1

標準のユーザープロファイルは、アメリカの慣習項目が残っていたり、簡易会員情報の基本的な項目が無かったりで少し不便です。

最近のバージョンからアメリカの慣習項目(AIM、Yahoo IM、Jabber)は表示されなくなりましたが、未だに電話番号や住所すら標準で準備されていないのは困ったものです。

そこで、このユーザープロファイル項目の削除、追加などの調整の方法を説明します。

user_items3

functions.phpにおまじないを書きます。

function ta_user_profile_items( $user_profile_items ) {
//ユーザープロファイル項目の削除
unset( $user_profile_items[‘aim’] );
unset( $user_profile_items[‘jabber’] );
unset( $user_profile_items[‘yim’] );

//ユーザープロファイル項目の追加
$user_profile_items[‘your_phonenum’] = ‘電話番号’;
$user_profile_items[‘your_sex’] = ‘性別(男 or 女)’;
$user_profile_items[‘your_birthday’] = ‘生年月日(例 1963/12/01)’;
$user_profile_items[‘your_postnum’] = ‘郵便番号’;
$user_profile_items[‘your_address’] = ‘住所’;
$user_profile_items[‘your_parking’] = ‘駐車スペース情報’;

return $user_profile_items;
}
add_filter( ‘user_contactmethods’, ‘ta_user_profile_items’, 10, 1 );

先ず、add_filter( ‘user_contactmethods’, ‘ta_user_profile_items’, 10, 1 );の説明をします。

これはWordPressの特徴であるフックという機能を使う宣言です。

通常のコンピュータープログラムはAと云う処理の後、Bと云う処理を行う場合は外部から見えない様に情報を渡します。

例えば、5+3を計算するA処理系が画面表示をするB処理系に8という情報を渡して表示をさせる場合を考えると分かりやすいと思います。

しかし、WordPressはこの情報を引き渡す時にフックと云う信号を外部に出します。そして、そのタイミングで受け渡す情報の書き換えを許しています。

これは素晴らしい事です。元々のWordPress処理系を一切触らずに(更に言うとその処理系が何をしているかさえも知らずに)結果の情報のみを細工できるのです。

ですから、このフックの仕組みを使えばWordPressがバージョンアップしても大丈夫(そのフック宣言を変更しない限り)という画期的なものです。

話を戻しまして、add_filter( ‘user_contactmethods’, ‘ta_user_profile_items’, 10, 1 );の説明をします。

これは、’user_contactmethods’というフックが発行(チャイムが鳴るイメージでOKです)されたら、あなたが勝手に作った’ta_user_profile_items’という関数を実行しなさい、という意味です。最後の10と1という数字は、優先順位は低くてOK(10の意味:1が最優先ですが高々項目の調整ですから急ぎません)、引き渡す情報は1つ(ここではユーザープロファイル項目の配列情報が一つ)という意味です。

次にあなたのオリジナル関数ta_user_profile_items()の説明をします。

フック発行のタイミングでこの関数にはユーザープロファイル項目の配列情報(ここでは$user_profile_itemsと表しています。お好きな名称でOK)が渡されます。(フックですから横取りという表現がしっくり来ますが)

先ず、$user_profile_itemsの中に要らないユーザープロファイル項目があったらそれを削除します。それが、unset( $user_profile_items[‘aim’] );などです。最近のWordPressバージョンではAIM、Yahoo IM、Jabberが表示されなくなりましたので削除例は必要が無いかもしれませんね。

次に、必要な項目の追加です。$user_profile_items[‘your_phonenum’] = ‘電話番号’;の様にお好きな項目の配列宣言をしてあげればOKです。

そして最後に書き換えた配列情報をreturnで返します。(横取りしましたから、ちゃんと返さないと次の処理系は入力引数が無くなってしまいます)

結果は最上部の図の様に配列項目の順番で表示されます。

ここで削除したり追加した項目は正式な物ですから他のプラグインなどでも使用できます。

お試しください。

«
»
  • LINEで送る

音声ミュートを解除すると軽快な音楽が流れます (^^♪