WordPressで会員制サイトを構築する – フロントエンドユーザー管理プラグインの活用事例2で、WordPressをベースにフロントエンドユーザー管理プラグインを使用して会員制サイトを構築する方法を解説しました。
今回は会員制サイトを有料化し、料金・会費を払ったユーザーのみにコンテンツを閲覧させる有料会員制サイトをWordPressで作成する方法を考えてみます。
有料会員制サイト構築には、ネットショップ管理プラグインを合わせて使用する必要があります。
会員制サイトの種類
さて、会員制サイトにはどのようなものがあるでしょうか。
- ニュースや情報を有料で配信するサイト
- ファンクラブやサークルのような会員限定向けのサービスを提供するサイト
- ゲームや音楽などのコンテンツを会員に提供するサイト
ほかにも色々と考えられると思いますが、ネットショップなどのECサイトもほとんどが会員制サイトの形態をとっているといえると思います(会員登録しなくても商品を購入できるECサイトもあり、ネットショップ管理プラグインでも会員登録なしでの購入が可能です)。
有料課金の種類
有料会員制サイトの課金は大体以下の方法のどれかにあたるのではないでしょうか。いずれの場合でも、フロントエンドユーザー管理プラグインで拡張設定できるユーザー属性の機能を使用します。
- 年1回の年会費やその他の期間ごとの課金(会員の有効期限を設定し、年会費を支払うと365日(定めた期間)有効期限を延ばすようにします。同様の考え方で年度ごとの課金もできます)
- 月1回の月次課金(ネットショップ管理プラグインでは、決済モジュールをご利用いただくことで定期課金による自動徴収が可能になります)
- サービスやコンテンツごとの課金(サービスやコンテンツを1つの商品として扱い、商品を購入したら閲覧できるようにします)
フロントエンドユーザー管理プラグインとネットショップ管理プラグインで上記全て実現可能!
会員制サイトの種類や有料課金の種類について述べましたが、フロントエンドユーザー管理プラグインとネットショップ管理プラグインをご利用いただくことでほぼ全てのシチュエーションが実現可能となります。
より具体的な流れを下記でみていきます。
WordPressやプラグインの環境
まず、今回使用する環境は以下のとおりです。
- WordPress 3.0 (WordPress2.8以降で動作しますが、WordPress 3.0以上を推奨します)
- フロントエンドユーザー管理プラグイン
- ネットショップ管理プラグイン
プラグインの基本的な設定は各プラグインのページを見て行ってください。
有料課金の方法
プラグインのインストールや設定は完了していることを前提に、ここでは有料課金の具体的な方法を説明します。会員制サイトの種類や有料課金の種類で若干設定方法は変わってきますが、大まかな流れは同じです。
年会費や特定の期間の会費を徴収する方法
最も基本となる年会費や特定の期間の会費を徴収する有料会員制サイトの課金方法を設定してみます。
ネットショップ管理プラグインの新規商品登録を開き、右上のアドバンストモードをクリックしておきます。
カテゴリー、商品コード、商品名、販売価格などを入力してきます。ここでは年会費を想定して入力していきます。
アドバンストモードではベーシックモードでは表示されない「最終処理ステータスがセットされた際のPHPコード」という項目が表示されます。このPHPコードは決済完了時に最終処理ステータスが設定された段階で実行されます。PHPコードに不具合があると正常に会員の有効期間がセットされませんので注意が必要です。
ここに、会員の有効期間を保存するPHPコードを入力します。このコードの意味するところは、membership_date という会員の有効期限を示すユーザー属性を保存するということです。現在の有効期限に365日(秒数では31536000)を足し保存しています。有効期間に応じて秒数の部分を変更してください。
$user = new WP_User($user_id, ''); if ( !empty($user->membership_date) && strtotime($user->membership_date)>date_i18n('U') ) $date = strtotime($user->membership_date); else $date = date_i18n('U'); update_user_meta( $user_id, 'membership_date', date_i18n('Y-m-d', $date+31536000) );
ここでは販売状況のみ「販売中にする」にし、商品表示にはチェックを入れません。これは、商品ページを使用しないためで、そのまま商品ページを使用する場合は、表示するにもチェックを入れるとよいでしょう。入力が済んだら「商品を更新する」ボタンを押してください。
以上で、商品の登録は完了です。もし、会員の有効期間のオプションを複数用意する場合、例えば1か月、3か月、6か月、12か月のような場合、それぞれを商品として登録し、期間に応じてPHPコードを変更してください。
商品の登録が済んだら、会員の有効期間を購入させるボタンをマイページに作成してみます。
マイページには、フロントエンドユーザー管理プラグインをインストール時に自動生成されたページ(デフォルトではloginというスラッグを持ちます)の投稿欄に以下の内容を入力します。商品ID(product_id)は適宜変更してください。
当サイトは有料会員制サイトです。
当サイトのサービスを受けるには以下より年会費をお支払いただく必要があります。
年会費は5,250円です。
[product product_id=1 option=form]
[product product_id=1 option=add_to_cart addtocart_label=’年会費を支払う »’]
[product product_id=1 option=/form]
今回は会員の有効期間のみの購入なので、ショッピングカートや注文者情報、送り先情報などほとんどの注文ステップが不要となます。ネットショップ管理プラグインのオプション設定にある環境設定より、不要な注文プロセスのチェックを外します。決済方法が複数ある場合は支払方法選択の画面は表示した方が良いかもしれません。
以上で、有料会員制サービスの基本となる部分が完成しました。上記の例の年会費の支払いボタンが正常に動作するか確認してみてください。
また決済が完了し、最終処理ステータスがセットされた際に、ユーザー属性が更新されているか確認してみるために、フロントエンドユーザー管理プラグインのオプション設定で拡張できるユーザー属性に項目を追加してみます。
フィールドラベルは何でもよいのですが、フィールド名には先ほど商品登録したPHPコードで使用した値(membership_date)を入力します。フィールドタイプにはdisplayを選択し、アカウント設定で有効期限の表示だけをするようにします。管理画面にのみ表示したい場合は管理にチェックを入れます。
追加したユーザー属性を表示するには、環境設定のプロフィールアイテムと並び替えでチェックを忘れずに入れてください。
ここまで設定できたら、実際に年会費を支払うボタンをクリックし、注文を確定させ、注文のステータスを処理済みにしてみてください。アカウント設定や管理画面のユーザーリストに問題なく有効期限が表示されていれば設定は完了です。
有料会員かどうかを判別するコードをページテンプレートに記述する
フロントエンドユーザー管理プラグインの会員制ページ条件の機能を利用する方が簡単です。会員限定ページを簡単作成 – フロントエンドユーザー管理プラグインの活用事例5をご覧ください。
課金の設定は完了したので、あとは会員向けの投稿、ページに現在ログインしているユーザーが有料会員かどうかを判別するPHPコードをページのカスタムテンプレートで設定します。これは、WordPressで会員制サイトを構築する – フロントエンドユーザー管理プラグインの活用事例2の3番目の方法で触れたやり方に近い方法です。
オリジナルのテンプレートを使用し、有料会員かどうかの判定を加えて、有料会員の場合は本文をそのまま表示し、有料会員でない場合はログイン、ユーザー登録を促す、または会費を支払うボタンを表示する、というものです。
ページにはカスタムテンプレートの機能がデフォルトで用意されていますが、投稿では独自のテンプレートが使用できないので、Custom Post Templateを使用します。single.phpまたはpage.phpをコピーしてmember.phpなどとしてカスタムテンプレートを作成します。
the_content() の部分を探し、たとえば以下のように改良します。
if ( is_user_logged_in() ) { global $current_user; if ( !empty($current_user->membership_date) && strtotime($current_user->membership_date)>date_i18n('U') ) { the_content(); } else { echo 'マイページより年会費をお支払ください。'; } } else { echo 'ログインまたは新規ユーザー登録してください。'; }
このコードはシチュエーションに応じて適宜変更を加えてください。後は有料会員向けの投稿、ページを作成する際に、このページテンプレートを選ぶようにするだけで、有料会員向けのコンテンツが作成できます。
まとめ
いかがだったでしょうか。一口に有料会員制サイトといっても色々な状況があるので一概には言えませんが、WordPressを使用して簡単に有料会員制サイトが構築できるということがお分かりいただけたと思います。
これだけのシステムを一から構築するとなるとかなりのコストが発生するわけですが、オープンソースのWordPressと当サイトで販売中のフロントエンドユーザー管理プラグインとネットショップ管理プラグインをご利用いただくだけで、低コスト、短時間で有料会員制サイトを作成していただけます。
もし、有料会員制サイトをご計画中で、上記のプラグインを使用して思い通りのサイトができるか不安がございましたら、お気軽にお問い合わせよりご相談ください。プラグインが利用可能か、どのようなカスタマイズが必要かお答えいたします。