Blog

[Typesプラグイン] ユーザーフィールドを活用して情報を一元管理しよう! [WordPress]

先日ダイオウグソオクムシの1号たんの訃報にふれ、すっかり意気消沈しているグソラー真庭です。
2月のはじめに鳥羽水族館詣りに行ってきた際には元気(という名の不動)な姿を拝見したのですが、こんなことになろうとは…。

さて、しんみりしてしまったところで今回は、WordPressのカスタムフィールド、カスタム投稿タイプ、カスタムタクソノミーのすべて管理できるパワフルなプラグイン、Typesを使って、ユーザープロフィール画面の入力フィールド(※1)を活用する方法をご紹介していきたいと思います。

※1.ユーザーフィールド(User Fields):この記事内では便宜上、ユーザーのプロフィール画面の入力フィールドを指します

eyecatch_wpxtypes

用意するもの

ユーザフィールド (User Fields) って?

WP管理画面「ユーザー」⇒「あなたのプロフィール」を見てみてください。

 types_userfield00

WPのデフォルトでは、ユーザー名、ニックネーム 、メールアドレス、プロフィール情報など、 いくつか項目が表示されているかと思います。
これがユーザフィールドです。

ここに、住所や電話番号などを入力して、一括管理できたら便利だなあと思いませんか?
でも、標準の項目だけだと入力欄が足りませんね。ここでtypesのユーザーフィールドの管理機能を活用します。

ユーザーフィールドを作成する

さっそく触ってみましょう。

WP管理画面「types」⇒「User Fields」⇒「Add a user meta group」ボタンをクリック。

 types_userfield01

グループ名を入力し、作成したいフィールドのタイプを選択します。

  • シングルライン=1行テキストフィールド
  • 複数ライン=複数行テキストエリア

電話番号なんて項目もありますが基本的には1行テキストボックスと同じのようです。

types_userfield02

フィールド表示名とスラッグ名を入力(どちらも必須です)

types_userfield03

それぞれを入力したら「保存」します。

上記会社名のほかに、所在地や電話番号のフィールドも増やしてみましょう。

types_userfield04

types_userfield05

ユーザフィールドに情報を入力する

さて、ユーザフィールドが増えているか確かめましょう。

WP管理画面「ユーザー」⇒「あなたのプロフィール」

types_userfield06

さきほど入力した「会社名」「所在地」「電話番号」の入力項目がありましたね!
さあそれぞれの情報を入力して保存してみましょう。

入力したデータを出力する方法

typesプラグインで作成したユーザフィールド(カスタムフィールド)の表示方法はいくつかあります。

  • typesプラグイン独自の表示関数types_render_fieldを使う方法
  • WPの関数get_user_metaを使う方法

今回は2つ目のWPのget_user_metaを使う方法で表示します。

関数get_user_meta

Function Reference/get user meta

  1. 第一引数:ユーザID
  2. 第二引数:ユーザフィールドのスラッグ
  3. 第三引数:配列で取得するか否か(単一のデータを取得したいときはtrue、配列で取得したいときにfalseを指定)

ユーザIDを確かめる方法

ここでちょっと横道にそれますが、ユーザIDを確認する方法をいくつかあげてみます。

  1. ShowID for Post/Page/Category/Tag/Commentプラグインを入れる (※ユーザIDの他に投稿や固定ページのID等も表示されるようになって便利!)
  2. WP管理画面「ユーザ」⇒「ユーザ一覧」⇒「編集」をクリック。その際に表示されるURL内のuser_id=XXXがユーザIDです (自分自身のプロフィール編集では出ません)
    types_userfield07
  3. 管理者一人だけ(で、ユーザの削除追加もおこなっていない)ならば、ほぼ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」

 types_userfield08

ちなみに、今回「所在地」を複数ライン=テキストエリアで作成したので改行を出力に反映したい場合はPHPのnl2br関数などで整えれば幸せになれたりします。

最後に

Typesはとてもパワフルなプラグインなので、今回ご紹介したユーザフィールドを増やす以外にもできることがたくさんあります!
日本語で書かれた解説があまり存在しないようですので、今後も少しずつ紹介していけたらと思っています。

  • Knowledge DEPOT
  • サポートサイト