2020年12月13日

[WordPress][プラグイン]
簡単に会員制サイトを作れるWordPressプラグイン「Simple Membership Plugin」を試してみた

最近立て続けにWordPressを使った会員制サイトの話があり、いくつかプラグインを試してみた結果、「Simple Membership Plugin」がいいかな(2020年12月現在)、ということになったので試しに導入してみました。

Wordpressで会員制サイトを作る際のポイント

ひとくちに”会員制サイト”といっても、要件はそれぞれ異なるでしょう。
まずは要件をしっかり洗い出し、それに適したプラグインを選ぶようにしましょう。
例えば有料会員が必要な場合や会員同士でのコミュニケーションが可能なようにする、また、会員制にして何をしたいのかもポイントになると思います。
今回私が選択ポイントにしたのは、以下の通り。

これらの条件から、いくつかプラグインをあたってみました。
基本的にどのプラグインもだいたい基本的な機能は持ち合わせていますが、最終的に選択肢に残ったのが「Simple Membership Plugin」でした。
個人的には「WP-Members」がシンプルで好きなのですが、今回はユーザー登録の入力項目が複雑だったので「Simple Membership Plugin」になりました。
※「WP-Members」でもオリジナルのユーザー登録画面の作成が可能です。

「Simple Membership Plugin」の特長

「Simple Membership Plugin」は、基本無料のプラグインですが、有料のアドオンを入れることで機能が拡張できる特長があります。
しかし逆にそれが気になるポイントでもありました。
このプラグインで作り始めたはいいけど、肝心なところで求める機能がなくお金を払わなくてはいけなくなるのでは・・・

あとは、無料の会員も作れるようですが、有料会員をベースにしているフシもあり、果たして無料だけの会員で運用できるのか・・・

そういう懸念点があったので、まずはベースの機能でどこまで実現できるのかを確認してみました。

導入方法

「Simple Membership Plugin」をインストールするのは、通常のプラグインのインストール方法と同じです。
「プラグイン」-「新規追加」で「Simple Membership Plugin」と入力。
インストールして「有効化」すればインストール完了です。

初期設定

実はプラグインを有効化すると、勝手に以下の固定ページが作成されます。
・Join Us
 - 登録
・メンバーログイン
 - パスワードのリセット
 - プロフィール

これらのページの中を覗くとわかりますが、ショートコードが設置されています。
・登録のショートコード [swpm_registration_form]
・メンバーログインのショートコード [swpm_login_form]
・パスワードのリセットのショートコード [swpm_reset_form]
・プロフィールのショートコード [swpm_profile_form]

このためにわざわざ作成されたようですが、もちろんこのとおりに作らなくてOKです。
ショートコードを表示したい場所に設置すれば同様の機能をもったページが作成されます。
ちなみに、間違ってこのページを削除してしまった!
という場合でも大丈夫。
「Simple Membership Plugin」の「設定」-「ツール」の中に「Re-create the Required Pages」という項目がありますので、ここのボタンを押すとまたページを作成してくれます。

さて、「設定」-「一般設定」タブを開いてみましょう。
真ん中あたりに移動するといま勝手に作られた固定ページのアドレスが表示されています。

勝手にページを作って勝手にURLも設定されたけど、ここで変えられるというわけです。

さて、順番メチャメチャですが、まずは会員レベルを設定しましょう。
「Simple Membership Plugin」の「設定」-「会員レベル」を開きます。
ここでは会員のレベルを設定することができます。

「新規追加」を押して会員レベルを作成しましょう。
今回は無料会員を作成したいので、早速無料会員レベルを作ります。

会員レベル設定

先の要件に書いたとおり、ユーザーが自分で登録削除できる無料アカウントにしたかったので、「メールで有効化する」にチェックをいれておきました。
ユーザー権限は、もちろん記事の閲覧だけですから「購読者」になります。
もし、ユーザー登録すると記事が投稿できるようになる・・・wikiとかサークルなんかの使い方でしょうか。そのようにしたい場合は寄稿者や投稿者を選択することになります。

さて、「新規メンバーシップの登録」を押して保存すると一覧に今登録した内容が反映されます。

この「ID」を覚えておいてくださいね。

同様に有料会員など、会員のレベル分けが必要な場合はここでユーザーを追加していきます。

「設定」-「一般設定」に戻って無料会員の設定を行います。

一般設定

無料会員を有効にします・・・無料会員を有効にしたいときはチェックを入れます。
無料会員レベルの ID・・・上記で無料会員を有効にした場合はここに先ほど作成した無料会員の会員レベルIDを入力します。
More タグ以下のコンテンツを限定公開・・・これは記事一覧を生成した場合にMore タグ以降のコンテンツを公開するかどうかの設定になります。
管理バーを表示・・・ユーザーがログインしたときに、上部黒帯のWordpressの管理バーを表示するかどうかの設定になります。Wordpressの運用であることを悟られたくないような場合はチェックを外すといいでしょう。
管理人に管理ツールバーを表示・・・管理者権限のあるユーザーに上部黒帯のWordpressの管理バーを表示するかどうかの設定になります。
WP ダッシュボードへのアクセスを無効にする・・・これもログイン時にWordpressのダッシュボードを表示させるかどうかの設定です。
デフォルトアカウントステータス・・・例えばユーザーが自分でユーザー登録を行っても管理者が許可しないと使えるようにならないようにしたい場合はここを「保留」などのステータスにすると良いと思います。
メンバーはログインするとコメントできます。・・・ユーザーがコメントできるようなテーマが必要になります。

メール設定

一通り会員の設定ができたら次はメールの設定です。
メールは、「設定」ー「メール設定」タブにあります。
・メール設定(登録完了のお知らせ)
・メール設定(登録完了)
・管理者向け通知設定
・メール設定(パスワードリセット)
・メール設定(会員レベルのアップグレードのお知らせ)
・メール設定(一括アカウントアクティベート通知)
・メール設定 (メールによる有効化)
が設定できます。

基本的にタイトルと本文を入力すればよいだけなので悩むところはないと思います。
会員の設定の内容によっては使用しない設定もでてきます。
ここはわかりにくいところだけ説明しましょう。

まずは本文内に記述するショートコードについてです。
例文にも載っていると思いますが

Dear {first_name} {last_name}

のような記述は、そのユーザーの環境にあわせて

Dear 名 姓

のように書き換えられます。
他にも
{first_name} – 登録時入力したファーストネーム
{last_name} – 登録時入力したラストネーム
{email} – 登録時入力したメールアドレス
{member_id} – 登録時入力したメンバーID
{user_name} – 登録時入力したユーザー名
{account_state} – ユーザーのアカウントステータス
{membership_level} – メンバーのレベル
{membership_level_name} – メンバーのレベル名
{phone} – 電話番号
{member_since} – 登録日
{subscription_starts} – 購入開始日
{company_name} – 会社名
{primary_address} – 住所
などが使えるようです。
もちろん、入力されていないと表示されないですし、ステータスなどにもよるのではないかと思います。

それから、「メール設定(一括アカウントアクティベート通知)」ですが、これは何かというと、ユーザーが自分で登録した場合ではなく、管理者が手動登録した場合に送られるメールの文面になります。

メール設定の注意点

サーバーや言語環境によるかもしれませんが、メールの表示に問題がある場合があります。
私の場合、管理者あてのメールとパスワードリセットのメールのタイトルが

=?ISO-2022-JP?B?RmFtaWx5IEx・・・JW8hPCVJGyhC?=

のような表示になりました。
フォームから送信する際に、文字コードを「JIS (ISO-2022-JP) エンコーディング」で送出するからのようです。
これを解決するには「WP Multibyte Patch」プラグインを使用します。

※インストールされてない場合は「WP Multibyte Patch」で検索してインストールしてください。

以下の作業においては、バックアップを作成して作業してください。
FTPで、「WP Multibyte Patch」のフォルダ内
・・・/wp-content/plugins/wp-multibyte-patch
のwpmp-config-sample-ja.phpをダウンロードし、wpmp-config.phpにリネームします。
このファイル内の
・$wpmp_conf['mail_mode'] = 'JIS'
 を
 $wpmp_conf['mail_mode'] = 'UTF-8'
 に
・$wpmp_conf['patch_wp_mail'] = false;
 になっていると思いますがもし
 $wpmp_conf['patch_wp_mail'] = true;
 になっている場合は
 $wpmp_conf['patch_wp_mail'] = false;
にそれぞれ変更して保存します。
このファイルをふたつ上のディレクトリ
・・・/wp-content/
直下にアップします。

これで正常なタイトルになるはずです。

詳細設定

詳細設定は詳細なので不要かと思いつつ、後々どうしても細かい設定が必要になってきます。
最初からここは設定しなくても良いですが、構築していくとこうしたい、という場合がありますので、この設定も理解しておきましょう。

・・・長いですね。

有効期限切れのアカウントのログインを有効にする・・・先ほど会員レベルの設定の箇所でアカウントの有効期限があったと思います。その有効期限が切れた場合にどうするか、という設定になります。
Membership Renewal URL・・・上記の設定との関連になりますが、例えば期限付きのアカウントを購入したと想定すると、その期限が切れた際にどこで購入するのか、という話になります。ログインを有効にし、このURLを設定することで期限が切れたユーザーを指定のURLに飛ばして延長の購入ができるような仕組みを作成することができるようになります。
After Registration Redirect URL・・・ユーザーが登録フォームを送信した後、リダイレクトするページを指定できます。
新規登録後の自動ログインを有効化・・・ユーザーが新規に登録した場合、登録後に自動的にログインさせるかどうかを指定します。
Hide Registration Form to Logged Users・・・ログインしたユーザーに登録フォームのあるページを表示する場合、フォームを表示するかどうかを指定します。チェックを入れるとログイン後はメッセージが表示されるようになります。
ログアウト後のリダイレクト URL・・・ユーザーがログアウトしたあとのリダイレクト先をURLで指定します。
Logout Member on Browser Close・・・メンバーがブラウザを閉じたときにアカウントからログアウトするかどうかを指定します。
アカウント削除の許可・・・ユーザーが自分でアカウントを削除できるようにするか指定できます。
Force Strong Password for Members・・・ユーザーのパスワードを強力なパスワードの使用を強制するようになります。
自動で保留中アカウントの削除・・・保留中のアカウントをどのくらいの期間で削除するかを指定できます。
Admin Dashboard Access Permission・・・「Simple Membership Plugin」用のダッシュボードにアクセスできる権限を指定します。
Force WP User Synchronization・・・メンバーのアカウント情報を強制的にWPユーザーアカウントと同期させる場合にチェックします。例えばメルマガなど他のプラグインと同期している場合にはチェックすると良いと思います。
Payment Notification Forward URL・・・メンバーの支払い処理後、支払い通知を外部スクリプトに転送することができます。

Create Member Accounts for New WP Users
別のプラグインによって新しいWPユーザーレコードが作成されたときに、メンバーアカウントの自動作成を構成させるオプションです。
Enable Auto Create Member Accounts・・・別のプラグインによって作成された新しいWPユーザーのメンバーアカウントが自動的に作成されます。
Default Membership Level・・・別のプラグインによってアカウントが作成されたときのメンバーの会員レベルを指定します。
デフォルトアカウントステータス・・・別のプラグインによってアカウントが作成されたときのメンバーのアカウントのステータスを指定できます。

利用規約
ユーザーが登録時に同意する必要のある利用規約とプライバシーポリシーを指定できます。
利用規約を有効化・・・利用規約の表示を有効化します。
Terms and Conditions Page URL・・・利用規約のURLを指定します。
プライバシーポリシーを有効化・・・プライバシーポリシーの表示を有効化します。
プライバシーポリシー URL・・・プライバシーポリシーのURLを指定します。

有料化の設定

実は・・・今回有料会員は必要なかったので有料に関するオプションは試していません。
「Simple Membership Plugin」の有料会員はPaypalを通しての支払いに限定されているので、現金や振り込みなどの場合は個別に対応する必要があるようです。
Paypalの設定は「設定」-「支払い設定」から行います。
機会があったら有料会員の設定の仕方についてもお伝えしたいと思います。

会員専用ページの設定

さて、ここまで設定できたらあとは各ページのデザインを整えたり最後のツメになりますが、肝心の会員に見せる、見せないの設定はどこから行うか、というと、各ページの編集画面の最下部にこんな入力画面があるのに気づくと思います。

会員専用ページにしたい場合は、「限定公開にしますか?」を「はい」に設定し、見せたい会員レベルを設定すればOKです。

構築上引っかかった点など

ログイン後のリダイレクトページ

詳細設定に登録後のリダイレクト設定はあるものの、会員が通常のログインをしたあと、どこのページに行くのかどこで設定するんじゃいと悩みました。
実は初期状態で設定はできないので、追加でプラグインを導入する必要があります。(無料)

同じ作者の無料追加プラグインです。
なぜこの機能が分かれているのか謎です。

このプラグインを入れると会員レベルの設定の箇所に以下のようにログイン後のリダイレクト先を入力するフォームが追加されます。

つまり会員レベルごとにログイン後のジャンプ先を指定できるということですね。
大変便利です。

ユーザー自身の解除ページ

詳細設定で設定できるように、会員自身で解除できるリンクを設置できます。
これはプロフィールの編集ページ [swpm_profile_form] 内に自動的に生成されます。
しかしこのリンク先が図のように他のテンプレートページと異なりWordPressのシステム画面の体裁になります。

おそらくチェックボックスでオンオフできるような仕組みなのでショートコードに飛ばす飛ばさないということになると該当ページがあるかないかという判断も必要になるからということだと思いますが、ちょっと残念です。

まとめ

というわけで長々と説明してきましたが、結構簡単に会員制サイトが作れる印象です。
ただやはり要件次第という感じはしますね。
次回はこのプラグインの有料アドオンについてご紹介したいと思います。

この記事を書いた人

おおつき@TTI

Webディレクター、Webコンサルタント、Webコーダー、日曜プログラマー、他色々やってます。

気になったら
まずはご相談を

あなたの悩みのために専門家がチームを組み、課題解決に取り組みます。
まずはお気軽にお問い合わせください。

日本全国どこでも対応します。