webコンテンツを徹底強化!WordPressサイト制作とプラグイン&テーマ情報・メンテ/エラー対応から、PHP/CSS/javascript、動画・音・イラスト等制作まで扱うコラム
マルチメディアコンテンツ制作読んどけ☆コラム

【WordPress】WP-Membersプラグインによる、会員向けコンテンツサイトの構築(カスタマイズ必須?)

      2021/03/14

【WordPress】WP-Membersプラグインによる、会員向けコンテンツサイトの構築(カスタマイズ必須?)

今回は、現在管理人が検討している(まだ実装はしません)『WP-Membersプラグインによる、WordPress会員向けコンテンツサイトの構築』についてです。使ってみた感じだと、『ちょっとした会員サイトには便利』『課金はどうするか』『制限コンテンツなどのカスタマイズが必要かも』といった印象を受けました。さっそく、それらについて確認していってみましょう。

WP-Membersとは?有料会員などはどうする?

WP-Membersは、シンプルめな会員機能が使えるWPプラグイン

一般的にはフルスクラッチ・フレームワーク制作などだとコストが高い(笑)、会員機能をもったサイトが作れるプラグインです。『自動で会員データに関するフィールドを作ってくれる』『一般公開する投稿タイプ指定』『メール』などの機能はあります。状況によって、かゆいところに手が届かない感じになるので、カスタマイズで対応しましょう。

課金系の会員コンテンツサイトの場合は?→改造か、Simple Membership

会員系だと、サブスクリプション形式で課金してもらって、運営費に充てたいことも。とはいえ、WP-Membersは課金できるようには作られていません。対応するには改造するか、他のプラグイン、例えば『Simple Membership』を検討します。公式でも『Free and Paid Memberships』と謳っています。

会員が数十人程度なら手作業で月額会費請求書を送っても良さそうですが、増えてくると、自動で課金または請求送ってくれる機能があると便利です。

WP-Members課金で検討したもの→投げ銭サイトofuse(ただし、任意)

そこで管理人が、WP-Membersプラグインと組み合わせるのに、検討した課金システムがあります(ただし、任意)。投げ銭サイトのofuseです。投げ銭タイプにつき、100%課金してもらえるわけではありません。とはいえ、『クリエイター還元率が高い(クリ91:運営9)』『ファン会員もTwitter・Google・facebookのSNS連携できるので始めやすい・登録の手間が少ない』という特徴があります。

バーチャルライバーの配信などのように、熱狂的なファンが付くコンテンツであれば、収益にレバレッジがかかりそうです(残念ながら管理人のコンテンツは、そういうたぐいのものではありません涙)。

WP-Membersプラグインの基本的な機能

推奨されない設定を警告してくれる機能

推奨されない設定を警告してくれる機能 セキュリティ上非推奨な設定を警告してくれる機能も。WordPress基本設定で『だれでもコメントができる』 『誰でも会員登録ができる』について警告してくれます。これは、WP-Members基本設定『警告メッセージを表示しない』チェックで、オフにすることができます。

そのほか、いたずら目的登録などを防ぎたいときは、『承認登録:新規ユーザー登録の際、管理者の承認を必要とします』も、オンにすると良いかもしれません。

会員機能向け固定ページは、別途作ったほうが良い

会員機能向け固定ページは、別途作ったほうが良い Ultimate Memberなどでは、『登録・ログイン・ユーザー・ログアウト』などのページを自動生成してくれました。WP-Membersでは挙動が少し異なり『作ってある固定ページの中から、ログインなどに割り当てるページを選択』という流れになります。

特に『既に運用しているサイトで、新たに会員コンテンツやる』という場合には、『登録・ログイン・ユーザー・ログアウト』用のページを準備したほうが良いでしょう。既にあるコンテンツと混ざるとややこしいので。

非ログインブロック/ブロックしないは、投稿タイプごと・または個別指定

非ログインブロック/ブロックしないは、投稿タイプごと 一から作る場合は気にならないけど、固定ページ・投稿などで既に回しているサイトで困るのがこの部分。『非ログインブロック/ブロックしない』の設定はどうするか? 管理画面には『投稿・固定ページでブロックする/しない』という項目がありました。一括で指定するときはコレ。

固定ページを指定してみた例 試しに、固定ページを指定してみた例です。通常は表示される本文が出てこなくて、かわりにログインおよび登録フォームが出ます。ただし、投稿タイプで一括指定だと、『既に運用している固定ページ』も見れなくなるので困りものです

個別のページでブロック/ブロック解除 この場合は『個別のページでブロック/ブロック解除』を行います。とある個別投稿をブロック・ログインしないと見れない状態にするには、投稿の編集ページでブロック指定します。カテゴリーごとに『ここは会員用にする』などと決めておいても良いかと思います。

会員項目用のフィールド生成は便利

WP-Membersインストール時に出てくるフィールドです。インストール時に自動で生成(一から作るのは大変です)。ユーザー名などWP基本ユーザー情報のほか『住所・電話番号・国』なども生成。管理画面のユーザー情報ページで確認できます。

また『フィールドタブ→編集』と進んで、個別に『ラベル名・メタキー・表示するかどうか・必須にするかどうか』などを設定することができます。

英語表記になっている部分(各種ダイアログ・メール)を変更しよう

海外プラグインだけあって、翻訳が不十分なところがあるかもしれません。例えば、各種ダイアログやメールのデフォルト文章です。『メールアドレス登録済み』『登録完了』『パスワード違い』などのときに表示するメッセージを、日本語に変更しましょう。

メールタブでは、メール文面を変更できます。メール用フィールド・ショートコードがあるので、事前に公式マニュアルで確認しておくと良いでしょう。

WP-Members会員サイトの、ちょっとしたカスタマイズ

任意のページでログイン/ログアウト(ショートコード)

ショートコードで、任意の場所にログイン/ログアウトを入れます。たとえば、スラッグ『login』という固定ページを作って、『wpmem_form login』というショートコードを貼ると・・・

ログインしていないときは、ログイン・登録のフォームを出力。

ログイン状態のときは、『こんにちは〇〇さん』みたいな形でログインしている状態を知らせつつ、ログアウトボタンも。ログアウトボタンのパラメーターは『〇〇(ドメイン)/login/?a=logout』でした。これは『wpmem_logout_link』フックで変更できるようです。

会員コンテンツ用のカスタム投稿タイプ&一括ブロック設定

既に投稿・固定ページを使っているサイトの場合だと、『会員用カスタム投稿タイプ』が欲しいかもしれません。こんな感じでfunctions.phpに書いてカスタム投稿タイプを追加した後・・・

WP-Members オプション設定ページの下のほうに、カスタム投稿追加に関する項目ができているので、チェック&更新。

一括操作できるようになりました。なお、カスタム投稿をプラグイン無しでサクッと作るのは、過去記事でもやってみていますので、こちらもご確認ください。

ファイルに直接アクセスされるとイヤな場合

例えば『wp-content/uploads/〇〇〇.jpg』みたいなファイルパスだと、ページを会員限定にしたとしても、直接urlを入れられると、ファイルにアクセスできてしまうことが予想されます(ネット得意な人はたまにやります笑)。『登録しなくても見れるじゃん』となると、会員機能にする意味がありません。

対策としては『会員ページ用ファイルは、専用のフォルダを新しく作っておく』『そのフォルダには.htaccessファイルを設置』『自社サイト経由以外のアクセスを制限する』という形になります。

オートログアウト(プラグイン・フック・jQuery)

WordPressの基本システムでは、ログインセッション時間が長めに設定されています。ログアウト処理しなければ、14日とか会員がログインしっぱなし状態もありえます。『すぐログアウト』は不便とはいえ、セキュリティ上オートログアウトを使いたいことが出てくるかもしれません。

まずは、WPのプラグイン。『Inactive Logout』をはじめとして、オートログアウト機能を実装できるものがいくつか確認できます。今回のようなサイトだと『フロント部分で一定時間後ログアウト』ができると良さそうです。

プラグイン無しでやる場合は、WPで設定されているログインクッキー有効時間を変えます。『auth_cookie_expirationフック』をつかうことができ、『add_filter ( 'auth_cookie_expiration', '任意のファンクション名' );』のような形でfunctions.phpに記載(パラメータは設定してください)。

そのほかの方法としては、 『jQuery・IdleTimeoutをフロント・ログイン状態のときだけスクリプト出す』というのもあります。 !is_admin()や、is_user_logged_in()と組み合わせればokです。

  

あとがき・まとめ

  • WP-Membersプラグインは会員サイトをサックリ実装できるが、課金機能はなし
  • 非ログインブロック/ブロックしないを個別設定できるし、会員項目用のフィールドは便利
  • 英語表記になっている部分は変更がベター
  • ショートコードやカスタム投稿タイプなどで、カスタマイズも

まとめるとこのようなところでしょうか。シンプルめの機能とはいえ、しっかり設定&カスタマイズで、本格的に運用もできそうです。


【カテゴリ】 - WordPressプラグイン情報
【タグ】 -

  関連記事

フロントの『aioseo-admin-bar-css』を出力しないようにしたい→ログイン時のみ出るようになっているので大丈夫です

今回はAll_in_One_SEO(WordPressプラグイン ...

管理画面からFTP操作『WP File Manager』~過去の脆弱性ver・機能・使用例(テーマ消えないなど)の紹介

今回はWordPressプラグイン情報です。都合によりFTPが使 ...

WordPressで車販売サイトが作れる『Car Dealer, Classifieds & Listing』・英語なのでネックも

今回は、もはや何でもある感じのWordPressプラグインで、『 ...

functions.phpエディットできない(orテーマファイル変更しない)場合の機能追加は?→Code Snippetsプラグインで

今回は、環境のせいで、WordPressのfunctions.p ...

車・不動産・カタログなどに使えそう!WordPressコンタクトフォームにidやタイトルを渡して自動挿入させる方法

今回は、管理人が以前、お仕事でサイトを作ったときに使ったカスタマ ...

【WPプラグイン】Smart Custom FieldsとCustom Field Bulk Editorは相性悪い?(空リンク・真偽値フィールドに文字)

今回は、管理人がカスタムフィールド系の案件で使っているプラグイン ...

【WPプラグイン無しでサイト構築&表示を速く】Really Simple SSLって無効化して大丈夫?→設定しとけば大丈夫、ただし混在に注意

今回は『プラグイン干渉リスク低減や動作スピードアップ』のために、 ...