Paid Member Subscriptions:複数の有料プランを持つ会員制サイトを構築できる
複数の有料プランを持つ会員制サイトを構築できる WordPress 用プラグインの紹介です。
それは「Paid Member Subscriptions」です。
その導入手順から日本語化・使い方と設定などを解説していきます。
- 1. Paid Member Subscriptions
- 2. Gutenberg エディターでの動作
- 3. Paid Member Subscriptions のインストール手順
- 4. Paid Member Subscriptions の日本語化
- 5. 専用テーブル
- 6. 専用メニュー
- 7. Paid Member Subscriptions の使い方
- 8. 基本情報(Basic Information)
- 9. 会員プラン(Subscription Plans)
- 10. 会員プラン購読管理(Members)
- 11. レポート(Reports)
- 12. Paid Member Subscriptions の設定(Settings)
- 13. アドオン(Add-ons)
- 14. その他
- 15. ショートコード
- 16. URL
Paid Member Subscriptions
Paid Member Subscriptions は、複数の有料プランを持つ会員制サイトを構築できます。
有料プランだけでなく無料プランも作成可。料金プラン数も無制限に作成可。
作成したプランは、それぞれ独立したプランとして作成できるだけでなくて、
階層型(無料→有料1→有料2)のようなプラン設定も可能です。
各プランの新規購入・キャンセル・解約は、メンバー自身で選択可。
管理者による操作も可能です。
プランに応じて、投稿全体、固定ページ、カスタム投稿に閲覧制限を掛けられます。
ショートコードを使用して、部分的に各コンテンツを表示可。
※カスタム投稿は、自作および他のプラグインが作成したカスタム投稿に対応しています。
料金プランに関わらずログインユーザーのみにコンテンツを表示することも可能。
WooCommerce との連携も可能で、プランに応じて商品もしくはカテゴリー単位で割引適用可。
各プラン限定の商品を WooCommerce で作成することもできます。
ショップページへのアクセスをプランによって制限を掛けることもできます。
有料プランの料金の支払いは、PayPal もサポートしており、
メンバーによる手動支払いと各プランの自動更新(定期購読)も可能。
管理者による支払い管理と有効期限の自動もしくは手動更新も可能。
会員登録時・プラン購入時・プランキャンセル時・プランの有効期限切れ時に自動メールを送信可。
料金の支払状況をダッシュボードとレポートで確認できます。
メンバー情報と支払い履歴を CSV ファイルにエクスポート可。
※PayPal を使用する機能や設定については解説していません。
記事を作成もしくは更新時点でのバージョン:2.0.2
マルチサイトでの利用:可
Gutenberg エディターでの動作
Gutenberg エディターに専用機能が追加されます。
Gutenbergでのショートコードの挿入手順
このプラグインは、ショートコードを使用します。
挿入手順については、下記の記事にて詳しく解説していますので、御覧ください。
Gutenberg でのショートコードの挿入手順 – WordPress活用術
Paid Member Subscriptions のインストール手順
Paid Member Subscriptions をインストールするには 2 種類の方法があります。
下記の URL から ZIP ファイルを入手して、管理画面からアップロードして有効化する。
Paid Member Subscriptions – WordPress.org
もしくは、WordPress.org の公式プラグインディレクトリにリリースされているので、
管理画面からインストールできます。
ダッシュボードから「プラグイン」メニューの「新規追加」を選択し、
プラグイン追加画面右上の検索窓に「Paid Member Subscriptions」と入力します。
検索結果の一番左上に表示されると思うので、「今すぐインストール」をクリックします。
※一番左上に表示されない場合は、上記の画像から探して下さい。
インストールが完了したら、プラグインを「有効化」します。
プラグインのインストールに慣れていない方は、
下記の記事にて詳しく解説していますので、御覧ください。
WordPressプラグインのインストール手順を解説 – WordPress活用術
Paid Member Subscriptions の日本語化
Paid Member Subscriptions を有効化した際に日本語化されない場合には、
日本語化用の言語パックを translate.wordpress.org から入手できる場合があります。
WordPress と関連プロジェクト(テーマ・プラグイン)用の翻訳プラットフォームとして、
translate.wordpress.org (GlotPress) が導入されています。
※ボランティアで翻訳されている場合が多いので、
全てのプラグインで、必ずしも日本語化用の言語パックが用意されているわけでは無いです。
また、用意されていても 100% 翻訳されている保証もありません。
日本語化用の翻訳ファイルの探し方は、下記の記事を参照してください。
WordPress公式での日本語化用の翻訳ファイルの探し方 – WordPress活用術
専用テーブル
下記のテーブルを Paid Member Subscriptions 専用のテーブルとして作成し利用します。
テーブル作成時に $wpdb->prefix も使用しているので、マルチサイトにも対応。
index.php から CREATE TABLE 文を抜粋(記事用に一部修正)。
CREATE TABLE member_subscriptions (
id bigint(20) AUTO_INCREMENT NOT NULL PRIMARY KEY,
user_id bigint(20) NOT NULL,
subscription_plan_id bigint(20) NOT NULL,
start_date datetime DEFAULT NULL,
expiration_date datetime DEFAULT NULL,
status varchar(32) NOT NULL,
payment_profile_id varchar(32) NOT NULL,
payment_gateway varchar(32) NOT NULL,
billing_amount float(10) NOT NULL,
billing_duration int(10) NOT NULL,
billing_duration_unit varchar(32) NOT NULL,
billing_cycles int(10) NOT NULL,
billing_next_payment datetime DEFAULT NULL,
billing_last_payment datetime DEFAULT NULL,
trial_end datetime DEFAULT NULL,
KEY user_id (user_id),
KEY subscription_plan_id (subscription_plan_id)
);
CREATE TABLE member_subscriptionmeta (
meta_id bigint(20) AUTO_INCREMENT NOT NULL,
member_subscription_id bigint(20) NOT NULL DEFAULT '0',
meta_key varchar(255),
meta_value longtext,
PRIMARY KEY (meta_id),
KEY member_subscription_id (member_subscription_id),
KEY meta_key (meta_key)
);
CREATE TABLE payments (
id bigint(20) NOT NULL AUTO_INCREMENT,
user_id bigint(20) NOT NULL,
subscription_plan_id bigint(20) NOT NULL,
status varchar(32) NOT NULL,
date datetime DEFAULT NULL,
amount float(10) NOT NULL,
payment_gateway varchar(32) NOT NULL,
currency varchar(32) NOT NULL,
type varchar(64) NOT NULL,
transaction_id varchar(32) NOT NULL,
profile_id varchar(32) NOT NULL,
logs longtext NOT NULL,
ip_address varchar(64) NOT NULL,
discount_code varchar(64) NOT NULL,
UNIQUE KEY id (id),
KEY user_id (user_id)
) {$charset_collate};
CREATE TABLE paymentmeta (
meta_id bigint(20) AUTO_INCREMENT NOT NULL,
payment_id bigint(20) NOT NULL DEFAULT '0',
meta_key varchar(255),
meta_value longtext,
PRIMARY KEY (meta_id),
KEY payment_id (payment_id),
KEY meta_key (meta_key)
);
専用メニュー
ダッシュボードの「ユーザー」メニューの下に追加されています。
Paid Member Subscriptions の使い方
設定画面から必要な設定を行う
会員プランの作成を行う
プラン別の限定コンテンツの作成
WooCommerce 商品の割引設定
会員プランの作成と設定については後述します。
ここでは、限定コンテンツの作り方と WooCommerce 商品の割引設定について説明していきます。
限定コンテンツを作成するには
ショートコード [pms-restrict] を使用すると指定された会員プランを購入しているユーザー限定コンテンツを表示できます。
例)
[pms-restrict subscription_plans="id"]コンテンツ[/pms-restrict]
id で指定した会員プランをもつメンバー用のコンテンツを表示できます。
部分限定ではなくて、投稿全体に閲覧制限を掛けたい場合には追加されたボックスで制御できます。
この投稿に対する閲覧制限設定を行えます。
- Type of Restriction
制限タイプを選択します。 - Display For
この投稿の閲覧を許可する会員プランを選択します。
「Logged In Users」のみにチェックを入れると、
この投稿は、購読プランに関わらず全てのログインユーザーが閲覧できます。
Type of Restriction で「Redirect」を選択時のみ設定可。
- Enable Custom Redirect URL
リダイレクト URL のカスタマイズをするかどうか。 - Custom Redirect URL
この投稿を閲覧できないユーザーがアクセスした際のリダイレクト先 URL を入力します。
- Enable Custom Messages
この投稿にカスタムメッセージを表示するかどうか。 - Messages for logged-out users
非ログインユーザーに表示するメッセージを入力します。 - Messages for logged-in non-member users
ログインしているけれども閲覧を許可された会員プランで無いユーザーに表示するメッセージを入力します。
Gutenberg エディターでも設定可。
WooCommerce 商品の割引設定
- Discounts behaviour
割引に関する動作を選択します。
Best:
既存の全ての会員割引に基づいて、この商品の最適価格が計算されます。
会員プラン毎と商品毎の両方に設定されます。
Apply only discounts set below for this product:
この商品には下記の割引のみ適用します。
Exclude this product from all membership discounts:
この商品を全ての会員割引から除外します。
- Subscription Plan
会員プランを選択します。 - Type
この商品に対する割引タイプを一定金額割にするかパーセント割にするかを選択します。 - Amount
割り引く金額もしくは割合(パーセント)を入力します。 - Status
この割引設定をアクティブにするかどうかを選択します。
この商品に対する閲覧制限を行えます。
- Type of Restriction
制限タイプを選択します。 - Display For
この商品の表示を許可するメンバーを選択します。
「Logged In Users」のみにチェックを入れると、
この商品は、購読プランに関わらず全てのログインユーザーに表示されます。
- Who can purchase?
この商品を購入できるメンバーを選択します。
- Enable Custom Redirect URL
チェックを付けると、この商品のカスタムリダイレクト URL を設定できます。 - Custom Redirect URL
カスタムリダイレクト URL を入力します。
- Enable Custom Messages
チェックを付けると、この商品でカスタムメッセージを表示できます。 - Messages for logged-out users
未ログインユーザーに対して表示するメッセージを入力します。 - Messages for logged-in non-member users
ログインしているが、会員でないユーザーに対して表示するメッセージを入力します。 - Messages for restricted product purchase
この商品の購入に制限が掛かっている場合に表示するメッセージを入力します。
基本情報(Basic Information)
Paid Member Subscriptions に関する基本的な情報が載っています。
会員プラン(Subscription Plans)
会員プランの管理画面。
会員プランの新規作成と編集と複製と削除ができます。
既存プランのアクティブ化と非アクティブ化操作も可能。
また、既存プランの上位プランと下位プランの作成もできます。
会員プランの新規作成
「Add New」ボタンをクリックすると会員プランの新規作成を行うことができます。
会員プランの名称を入力します。
- Description
この会員プランの説明を入力します。メンバー登録フォームで表示されます。 - Duration
この会員プランの有効期限を設定します。日間・週間・ヶ月・年で選択可 - Price
この会員プランの料金を入力します。「0」のままにすると無料プランとなります。
- Sign-up Fee
この会員プランを申し込む際に事前に請求する金額を入力します。 - Free Trial
無料トライアルの期間を設定できます。上記の「Sign-up Fee」は、無料トライアルに関係なく適用されます。 - Status
この会員プランをアクティブにするか非アクティブにするかを選択します。アクティブなプランのみユーザーに表示されます。 - User role
この会員プランに関連付けるユーザー権限を選択します。プラン名で新しいユーザー権限を作成可。
この会員プラン名で新しいユーザー権限を作成するには、この会員プランの作成が完了すると自動的に作成されます。
WooCommerce で Paid Member Subscriptions を使用している場合、
この会員プランで割引対象とする商品&商品カテゴリーを設定できます。
- Discount for
割引対象を商品単体にするか商品カテゴリー単位で適用するかを選択します。 - Name
割引対象とする商品名もしくは商品カテゴリーを選択します。複数選択可。 - Type
割引タイプを一定金額割にするかパーセント割にするかを選択します。 - Amount
割り引く金額もしくは割合(%)を入力します。 - Status
この割引設定をアクティブにするかどうかを選択します。
「Add New Discount」ボタンをクリックすると割引条件を追加できます。
各行の右端の「×」をクリックすると、その割引条件を削除できます。
この会員プランを作成(保存)するには「Save Subscription」ボタンをクリックします。
編集画面は、新規作成画面と同じなので説明は省略します。
会員プラン購読管理(Members)
各メンバーの会員プランの購入状況を一覧で確認できます。
プラン名にマウスホバーすると有効期限などがポップアップ表示されます。
※会員プランを購読していないメンバーは一覧には表示されません。
各メンバーの購読画面から購読されると自動的に一覧に追加されます。
「Add New」「Bulk Add New」で手動での追加もできます。
- Active
会員プランが有効中のメンバーを表示できます。 - Canceled
会員プランがキャンセルされたメンバーを表示できます。 - Expired
会員プランの有効期限が切れているメンバーを表示できます。 - Pending
購入処理保留中のメンバーを表示できます。 - Pending
購入を破棄したメンバーを表示できます。
会員プランの手動購読手順(個別)
「Add New」ボタンをクリックした際の会員プランの手動購読画面。
「*」が付いている項目は入力必須項目です。
- Member
メンバーを選択します。 - Subscription Plan
会員プランを選択します。 - Start Date
選択した会員プランの開始日を設定します。 - Expiration Date
有効期限を必要であれば設定します。 - Status
会員プランのステータスを選択します。 - Traal End
お試し期間の終了日を設定します。
各日付はカレンダーで選択可。
「Add Subscription」ボタンをクリックすると購読完了となります。
会員プランの手動購読手順(一括)
「Bulk Add New」ボタンをクリックした際の会員プランの手動購読画面。
会員プランを選択し、対象とするメンバーを選択して、
「Assign」ボタンをクリックすると購読完了です。
会員プランの編集と支払履歴
「Edit Member」リンクから会員プランの編集と支払履歴などを確認できます。
Subscriptions
会員プランの編集を行えます。
Recent Payments
会員プランの支払履歴などを確認できます。
会員プランの編集
会員プランの支払履歴
会員プランの支払明細。変更可。
支払管理(Payments)
会員プランの料金支払い管理ができます。
- Completed
ステータスが完了のものだけを表示。 - Pending
ステータスが保留中のものだけを表示。 - Failed
ステータスが失敗のものだけを表示。 - Pending
ステータスが保留中のものだけを表示。
「Add New」ボタンから手動での料金支払い登録ができます。
- Username
メンバーを選択します。 - Subscription
購読プランを選択します。 - Amount
金額を入力します。 - Date
支払日時を設定します。時刻を設定しない場合には「9:00」がセットされます。 - Type
支払いタイプを選択します。 - Transaction ID
PayPal で自動設定される項目。 - Status
支払いステータスを選択します。
「Add Payment」ボタンをクリックすると登録完了です。
正常処理されると一覧画面に戻ります。
後から編集することもできます。
レポート(Reports)
レポート(Reports)
月単位で集計したレポートを確認できます。
エクスポート(Export)
購読メンバーの一覧と支払履歴を CSV でエクスポートできます。
Paid Member Subscriptions の設定(Settings)
一般設定(General)
- Load CSS
フロント画面でプラグイン独自の CSS を適用するかどうか。 - Automatically Log In
メンバー登録完了後に自動ログインさせるかどうか。 - Prevent Account Sharing
同じアカウントで複数の端末から同時ログインするのを防止するかどうか。 - Redirect Dafault WordPress Pages
WordPress 標準のログイン・新規登録・パスワード再発行フォームにアクセスがあると、このプラグインで作成したフォームにリダイレクトさせるかどうか。
Membership Pages
- Register Success Page
新規メンバー登録したユーザーをリダイレクトさせたいページを選択します。 - Login Page
ショートコード [pms-login] が含まれたページを選択します。 - Register Page
ショートコード [pms-register] が含まれたページを選択します。 - Account Page
ショートコード [pms-account] が含まれたページを選択します。 - Lost Password Page
ショートコード [pms-recover-password] が含まれたページを選択します。
支払設定(Payments)
会員プランの支払いに関する設定を行えます。
一般設定(General)
- Test Mode
チェックを付けるとテスト口座を使用しての有料会員の予約購読テストを行えます。 - Currency
支払いに使用する通貨を選択します。日本円なら「Japanese Yen」を選択します。 - Currency Position
通貨記号の表示位置を金額の前にするか後ろにするかを選択します。 - Active Payment Gateways
有料会員プランの料金支払でアクティブにしたい支払い方法にチェックを付けます。 - Default Payment Gateway
デフォルトにする支払い方法を選択します。
支払いゲートウェイ設定(Payment Gateways)
PayPal e-mail address:
PayPal のメールアドレスを入力します。
限定コンテンツ設定(Content Restriction)
コンテンツの制限に関する設定を行えます。
一般設定(General)
- Type of Restriction
コンテンツにアクセスしたユーザーが閲覧不可ユーザーだった場合の対応方法を選択します。 - Redirect URL
閲覧制限が掛かったユーザーがコンテンツにアクセスした場合のリダイレクト先 URL を指定します。
Message を選択した場合には、Restriction Messages 項目の各メッセージを編集しましょう。
Redirect を選択した場合には、Restriction Redirect 項目の Redirect URL にリダイレクトさせたい URL を入力しましょう。
Template を選択した場合には、Restriction Template 項目でテンプレートページを選択しましょう。
リダイレクト設定(Restriction Redirect)
Redirect URL:
リダイレクト先の URL を入力します。
Restriction Messages
- Messages for logged-out users
非ログインユーザーに表示するメッセージを入力します。 - Messages for logged-in non-member users
ログインしているけども閲覧を許可された会員レベルで無いユーザーに表示するメッセージを入力します。
WooCommerce Restriction Messages
- Messages for restricted product purchase
会員プランにより購入制限の掛かった商品を表示した際のメッセージを入力します。
Restriction Templates
- Template
「Type of Restriction」で「Template」が選択されている場合にデフォルトのテンプレートの代わりにどのテンプレートを読み込むかを選択します。
その他(Misc)
Restrict Comments:
コメントが有効になっている場合にコメントを制限するかどうか。
Restricted Posts Preview:
ログアウトしているユーザー、またはプランを購読していないユーザーに制限の掛かった投稿の一部を表示するかどうか。
メール設定(E-Mails)
メンバーもしくは管理者に自動送信するメールに関する設定を行えます。
Member Emails
- From Name
送信者名を入力します。 - From Email
送信者のメールアドレスを入力します。
メンバーの新規登録をしたユーザーに送信するメールテンプレート
- Enable email
このメールを有効にするかどうか。 - Subject
件名を入力します。 - Content
メール本文を入力します。
購入した会員プランが有効になったことをメンバーに通知するメールテンプレート
- Enable email
このメールを有効にするかどうか。 - Subject
件名を入力します。 - Content
メール本文を入力します。
購入した会員プランがキャンセルされた際にメンバーに通知するメールテンプレート
- Enable email
このメールを有効にするかどうか。 - Subject
件名を入力します。 - Content
メール本文を入力します。
購入中の会員プランの有効期限が切れたことをメンバーに通知するメールテンプレート
- Enable email
このメールを有効にするかどうか。 - Subject
件名を入力します。 - Content
メール本文を入力します。
全てのメールテンプレートで上記のテンプレートタグが利用可。
Administrator Emails
- Send Administrator
チェックを付けると、管理者へのメール送信が有効になります。 - Administrator Emails
メンバーの購読状況の変更に関するメールを受け取りたいtメールアドレスを入力します。カンマで区切ると複数入力可。
メンバーの新規登録があった場合に管理者に通知するメールテンプレート
- Subject
件名を入力します。 - Content
メール本文を入力します。
購入された会員プランが有効になったことを管理者に通知するメールテンプレート
- Subject
件名を入力します。 - Content
メール本文を入力します。
会員プランがキャンセルとなった際に管理者に通知するメールテンプレート
- Subject
件名を入力します。 - Content
メール本文を入力します。
会員プランの有効期限が切れたメンバーが居ることを管理者に通知するメールテンプレート
- Subject
件名を入力します。 - Content
メール本文を入力します。
全てのメールテンプレートで上記のテンプレートタグが利用可。
GDPR設定(GDPR)
- GDPR checkbox on Forms
フォームに GDPR に関するチェックボックスを表示するかどうか。 - GDPR Checkbox Text
{{privacy_policy}}を使用して、プライバシーポリシーページへのリンクを生成できます。 - GDPR Delete Button on Forms
フォームにGDPR削除ボタンを表示するかどうか。
WooCommerce統合設定(WooCommerce Integration)
Product
- Allow cumulative discounts
チェックを付けると、商品に当てはまる全ての割引が合算されます。デフォルトでは、最大の割引のみが適用されます。 - Exclude products on sale
セール中の商品には会員割引を適用しないようにするかどうか。
※「on sale」には「販売中」と「特売(セール)中」と言う意味があります。
ここでは、「セール中」と言う意味が妥当と判断して「セール中」と和訳しています。
例)
Allow cumulative discounts にチェックが付いている場合、
15 % と 10 % と 5 % の割引きがある場合には 15 + 10 + 5 = 30 % が割引として適用。
Allow cumulative discounts にチェックが付いていない場合、
15 % と 10 % と 5 % の割引きがあっても 15 % のみが割引として適用。
Product Messages
- Product Discounted – Membership Required
商品を割引価格で購入したい場合には、会員になってくださいと促すメッセージを入力します。
アドオン(Add-ons)
無料&有償アドオンに関する情報がのっています。
その他
ダッシュボード上に専用のボックスが追加されています。
支払いサマリーを確認できます。
ショートコード
下記のショートコードを使用することができます。
[pms-register]
会員プランを購入できる新規メンバー登録フォームを表示できます。
[pms-register]
[pms-login]
ログインフォームを表示できます。
[pms-login]
[pms-account]
メンバーが自身のアカウント情報を編集し、自分の購読プランを管理できます。
[pms-account]
[pms-payment-history]
メンバーは自身の支払い履歴を含むテーブルを表示できます。
[pms-payment-history]
[pms-recover-password]
パスワード再設定フォームを表示できます。
[pms-recover-password]