[Typesプラグイン] ユーザーフィールドを活用して情報を一元管理しよう! [WordPress]
先日ダイオウグソオクムシの1号たんの訃報にふれ、すっかり意気消沈しているグソラー真庭です。
2月のはじめに鳥羽水族館詣りに行ってきた際には元気(という名の不動)な姿を拝見したのですが、こんなことになろうとは…。
さて、しんみりしてしまったところで今回は、WordPressのカスタムフィールド、カスタム投稿タイプ、カスタムタクソノミーのすべて管理できるパワフルなプラグイン、Typesを使って、ユーザープロフィール画面の入力フィールド(※1)を活用する方法をご紹介していきたいと思います。
※1.ユーザーフィールド(User Fields):この記事内では便宜上、ユーザーのプロフィール画面の入力フィールドを指します
用意するもの
ユーザフィールド (User Fields) って?
WP管理画面「ユーザー」⇒「あなたのプロフィール」を見てみてください。
WPのデフォルトでは、ユーザー名、ニックネーム 、メールアドレス、プロフィール情報など、 いくつか項目が表示されているかと思います。
これがユーザフィールドです。
ここに、住所や電話番号などを入力して、一括管理できたら便利だなあと思いませんか?
でも、標準の項目だけだと入力欄が足りませんね。ここでtypesのユーザーフィールドの管理機能を活用します。
ユーザーフィールドを作成する
さっそく触ってみましょう。
WP管理画面「types」⇒「User Fields」⇒「Add a user meta group」ボタンをクリック。
グループ名を入力し、作成したいフィールドのタイプを選択します。
- シングルライン=1行テキストフィールド
- 複数ライン=複数行テキストエリア
電話番号なんて項目もありますが基本的には1行テキストボックスと同じのようです。
フィールド表示名とスラッグ名を入力(どちらも必須です)
それぞれを入力したら「保存」します。
上記会社名のほかに、所在地や電話番号のフィールドも増やしてみましょう。
ユーザフィールドに情報を入力する
さて、ユーザフィールドが増えているか確かめましょう。
WP管理画面「ユーザー」⇒「あなたのプロフィール」
さきほど入力した「会社名」「所在地」「電話番号」の入力項目がありましたね!
さあそれぞれの情報を入力して保存してみましょう。
入力したデータを出力する方法
typesプラグインで作成したユーザフィールド(カスタムフィールド)の表示方法はいくつかあります。
- typesプラグイン独自の表示関数types_render_fieldを使う方法
- WPの関数get_user_metaを使う方法
今回は2つ目のWPのget_user_metaを使う方法で表示します。
関数get_user_meta
Function Reference/get user meta
- 第一引数:ユーザID
- 第二引数:ユーザフィールドのスラッグ
- 第三引数:配列で取得するか否か(単一のデータを取得したいときはtrue、配列で取得したいときにfalseを指定)
ユーザIDを確かめる方法
ここでちょっと横道にそれますが、ユーザIDを確認する方法をいくつかあげてみます。
- ShowID for Post/Page/Category/Tag/Commentプラグインを入れる (※ユーザIDの他に投稿や固定ページのID等も表示されるようになって便利!)
- WP管理画面「ユーザ」⇒「ユーザ一覧」⇒「編集」をクリック。その際に表示されるURL内のuser_id=XXXがユーザIDです (自分自身のプロフィール編集では出ません)
- 管理者一人だけ(で、ユーザの削除追加もおこなっていない)ならば、ほぼIDは1だと思われます(ちょっと乱暴な解説ですみません)
【横道終わり】
ユーザフィールドの表示
get_user_meta関数をテーマファイル内に記述してみましょう。
表示したいHTMLでちょちょいと整えて「サイトを表示」してみましょう。
<h3><?php echo get_user_meta('1', 'wpcf-company-name', true); //ユーザフィールド「会社名」?></h3> <dl> <dt>住所</dt><dd><?php echo nl2br(get_user_meta('1', 'wpcf-company-address', true)); //ユーザフィールド「所在地」?></dd> <dt>電話番号</dt><dd><?php echo get_user_meta('1', 'wpcf-company-tel', true); //ユーザフィールド「電話番号」?></dd> </dl>
上記が表示コードになるのですが、ここで注目していただきたいのが第二引数のwpcf-XXXXXXXXXという文字列。
typesプラグインではユーザが指定したスラッグ名にwpcf-という接頭辞をつけてWordPressに保存しているので、WordPressの関数で表示を呼び出す際には、任意でつけたスラッグ名の前にwpcf-をつける必要があります。
また、Typesの管理画面でユーザフィールドのスラッグ等を確認することもできます。
WP管理画面「Types」⇒「User Fields Control」
ちなみに、今回「所在地」を複数ライン=テキストエリアで作成したので改行を出力に反映したい場合はPHPのnl2br関数などで整えれば幸せになれたりします。
最後に
Typesはとてもパワフルなプラグインなので、今回ご紹介したユーザフィールドを増やす以外にもできることがたくさんあります!
日本語で書かれた解説があまり存在しないようですので、今後も少しずつ紹介していけたらと思っています。