MTS Customer活用ガイド

活用ガイドの内容はWordPressのテーマとテンプレートについてご存知の方を対象に説明いたします。またテンプレートを操作するにはPHPプログラムを利用したWordPressの関数を使うため、PHP言語について知識があると理解しやすいです。

ログインユーザーのみ閲覧できるようにするには

テンプレートには必ず本文を表示する部分があります。仕掛けはその表示手前でログインユーザーか確認し、ログインユーザーならそのまま本文を表示、ログインしていなければ非表示メッセージを表示するようにテンプレートを作る事です。

以下WordPress Codex 日本語版のページのテンプレートの説明ページを元に追加方法を説明します。先ずはWordPressのループの部分だけ以下に抜き出して表示します。

ログインユーザーの確認は「is_user_logged_in()」関数を使います。それではログインユーザーのみ内容を表示、それ以外のアクセスは非表示メッセージを表示するように、上記のソースを変更してみます。

さて、このままではログインしていないと全てのページが表示されなくなります。表示ページにより誰でも閲覧できるものと、ログインユーザーのみのページと分けたいものです。それにはWordPressの持つ機能をもう少し使います。

WordPressにはご存知のように「カスタムフィールド」と呼ばれる、管理者が自由に設定できる項目を投稿データに付加する事ができます。

既にお気付きいただいたように、ログインユーザーのみ表示したいページにカスタムフィールドにデータを設定し、上の方法を組み合わせて表示を制限するようにします。次がそのサンプルです。ここではカスタムフィールドに「customer_page」という名前を使い、数字の「1」を登録しておくとします。

 ログインユーザーの登録情報の参照方法

MTS Customer プラグインによりユーザーに追加された項目のフィールド名は以下の通りです。

  • 会社名:mtscu_company
  • 氏名フリガナ:mtscu_furigana
  • 郵便番号:mtscu_postcode
  • 住所1:mtscu_address1
  • 住所2:mtscu_address2
  • 電話番号:mtscu_tel

次のようにPHPでプログラムを組み込めば参照できるようになります。なおデータは扱い易いように配列にセットします。

となります。

「顧客」ロールを確認したいときは「$current_user->roles」を参照しますが、「array(‘customer’)」のように配列にセットされているので注意して下さい。