この記事は 2016年8月 の投稿で、現在では状況が異なる可能性があります。
会員登録は WordPress標準の登録フォーム(ログインフォーム下にある「登録」リンク)から行えるのですが、会員制サイトとしては以下のようなことができません。
- 新規会員登録の際、管理者側で承認制にしたい
- 登録フォームを、フロント側に設置したい
- 登録時に入力する項目を追加したり、必須項目を設けたい
- 登録時に送信されるメールの通知文を独自に変更したい など
「WP-Members」は、そうした機能を提供してくれるプラグインです。
以下、OLBsystem をインストールした状態で、「WP-Members」を併用してみました。
確認環境
WordPress | 3.6 |
---|---|
テーマ | Twenty Twelve 1.2 |
プラグイン | OLBsystem 0.1.4 WP-members 2.8.5 WP Multibyte Patch 1.7 |
手順
* プラグインはアップデートにともない仕様が変わる場合があります。
最新の情報は、WP Memberrs の公式なガイドをご参照ください。
WordPress管理画面の「プラグインのインストール」から"WP-Members"で検索し、プラグインをインストールして有効化します。
WP-Membersの導入にともない、ユーザー新規登録方法を変更します
WordPressの一般設定 メンバーシップ だれでもユーザー登録ができるようにする → OFFに WP-Membersで必要なページを作成します
ページ名 スラッグ名 ショートコード 新規会員登録 register [wpmem_form register] ログイン login [wpmem_form login] ユーザープロファイル userprofile [wpmem_profile] * WP Membersの Ver 3.3.0で古い形式のショートコードが削除されたようです。
[参考] WP Members のショートコードがそのまま表示される|スキマ時間の実験室
WP Members 3.3.0より前のバージョンから 3.3.x にバージョンアップされる方は、WP Membersの古い形式のショートコードを最新の形式のショートコードに変更する必要があるようです。
[参考]WP Memberrs のショートコード
WP-Membersの設定を次のようにしました。
*1) [追記]
プラグイン「WP-Members」を併用した場合、WordPressのユーザー編集ページに追加された項目「スカイプID」が、WP-Membersで提供される「新規ユーザー登録」ページと「プロフィール編集」ページには表示されないようです。
WP-Membersの設定で、新たに同名(user_skype)のフィールドを追加することで対処しました。OLBsystemの設定を変更します
全般設定ー特別なページの名前 ログインページ login(上で作成した「ログイン」ページのスラッグ) WordPressの「外観ーウィジェット」の「会員専用」のリンクメニューを適宜変更します。
「会員専用」ウィジェットは OLBsystem付属のウィジェットで、会員のログイン中にだけ表示されるブロックです。
会員ログインの流れを確認
ログオフした状態で「マイページ」にアクセスすると、WP-Members用に作成した「ログイン」ページにリダイレクトされます。
ログインすると「マイページ」へリダイレクトされます。
これらのリダイレクトは、OLBsystem の「全般設定」に従っています。
新規会員登録の流れを確認
ログオフした状態で「講師週間スケジュール」から予約フォームを開くと、WP-Members用に作成した「ログイン」ページにリダイレクトされます。
「ログイン」ページ下の「はじめての方はこちら 新規ユーザー登録」から「新規会員登録」ページを開きます
必須項目を入力して会員登録すると、申込者と管理者にメールで通知されます
管理者が、申込者の会員登録を承認すると、申込者にIDとパスワードが通知されます
申込者がログインすると「マイページ」へリダイレクトされます
WP-Membersで追加した項目をマイページなどに表示
WP-Membersを使って追加したフィールドを、OLBのマイページなどに表示させたい場合は、WP-Membersのショートコードを使います。
詳しくは WP-Membersのユーザーガイドを参照されてください。
こちら WP-Members: Field shortcodes
講師や会員(生徒)の名前を「姓+名」形式にしたい
OLBの各ページにおける「講師」や「会員」の名前を表示する部分は、それぞれのユーザーの「ブログ上の表示名(display_name)」を使っています。
なので、ユーザーの「ブログ上の表示名」を「姓+名」にすればその通りに表示されます。
ちなみに、OLBを使っているユーザーさんの中には、「WP-Members」などのユーザー管理系のプラグインを併用されている方もおられるようで、ユーザー登録の時点で「姓・名」も入れさせているケースもあるようです。(WordPressの標準の「ユーザー登録」フォームには、ユーザー名とメールアドレスしか入力欄がないため)
ユーザー登録の際に、入力された「姓・名」から「ブログ上の表示名」を自動的に「姓+名」として設定するには、以下の記事が参考になるかもしれません。
[参考] WP-Members:ユーザーの登録時にdisplay_nameを自動で設定する方法https://41y.me/wp-members-set-display-name/
優れたプラグインを公開してくださっている作者の皆さんに感謝します。
コメントは停止中です。