WordPress には本格的な SNS サイトや会員制サイトを作成できるプラグインが多数あります。
会員制サイトの目的によって必要なプラグインは違ってきますが、以前 WordPress で有料会員制サイトを運営していたときに実際に使っていたプラグインを備忘録として残しておきます。
本格的なオンラインスクール(LMS)の構築におすすめのテーマ・プラグインは、以下の記事でご紹介しています。
会員制サイトの概要
会員制サイトを作るときは「どんな仕組みにするか」をざっくりでもよいので決めておいたほうがよいです。
とくに WordPress での会員制サイト作成は複数プラグインを組み合わせますので、仕様が定まっていないとプラグイン同士の機能干渉なども起こり得ます。
以前運営していた会員制サイトの概要は以下のとおりです。
- 完全非公開の会員制サイト(有料・匿名可)
- 会員サイトにアクセスすると必ずログインページへリダイレクト
- 各ユーザーに個別の ID とパスワードを発行する
- ユーザー一覧は CSV で出力できる
- ユーザーのパスワードは管理者からわからない(強制変更は可能)
- 登録ページから申し込みがあったら、管理者が確認して承認作業を行う
- ニックネームやアイコンを自由に設定してもらう
- 掲示板に投稿すると、ニックネームとアイコンが表示される
- 掲示板のほか、会員専用の個別記事にも画像投稿機能付きコメント欄を設置
これらをすべて WordPress で実現するためのプラグインをご紹介していきます。
会員制サイト構築に役立つプラグイン
Theme My Login
会員制サイトの基本的な部分は Theme My Login で設定できます。WordPress にもともとある会員(購読者や寄稿者)登録機能とログイン機能を補強してくれる、という感じですね。
完全非公開にするには、「Security Settings」で「サイトを見るにはログインしなければなりません」にチェックを入れます。
かつ、WordPress の「一般設定」で登録ユーザーのデフォルト権限を「購読者」にし、「だれでもユーザー登録ができるようにする」にもチェックを入れておきます。
会員希望者を登録ページへ案内し、登録してもらったら管理者が手動で承認する、という形です。
ログインページなどを任意にカスタマイズすることもできますが、固定ページだけでも最低限の機能は使えます。
WP User Avatar(ProfilePress)
掲示板やコメントなどで会員のアイコン(アバター)を表示させたいときは、WP User Avatar で設定できます。
Gravatar に登録されているメールアドレスなら自動的に紐づけてくれますが、全員が登録しているとは限らないので入れておくと便利ですね。設定画面から Gravatar を読みこまないようにすることも可能です。
Theme My Login によって生成される登録ページにもアバター登録欄が追加されるので、とくに難しい設定は要りません。
Export Users to CSV
会員一覧は、管理画面の「ユーザー一覧」から確認できます。ただ、そこでは登録日などがわからないですし、Excel などで管理したほうが何かと楽です。
Export Users to CSV を使えばユーザー情報を CSV でダウンロードできるので、あとは管理しやすいように整形するだけ。
プラグインをインストールすると「ユーザー」項目に「Export to CSV」が追加されるので、ここから権限と日付を設定してダウンロードします。Excel で開いて文字化けしているときは、Windows のメモ帳などでいったん開いてそのまま上書き保存すれば OK です。
bbPress
WordPress 掲示板プラグインといえば、今のところ bbPress 一択かもしれません。
「登録済みの訪問者にフォーラムの役割『参加者』を自動的に付与する」にチェックを入れておくと、会員登録後すぐに掲示板を利用してもらうことができます。ここが「傍観者」などになっていると、掲示板は見られるけど書きこめない、という状態になってしまうので注意しましょう。
なお、トップページなど任意の場所に掲示板一覧を出力したいときはショートコードが使えます。テーマファイルに直接記述する場合は、以下のように do_shortcode を使ってください。
<?php echo do_shortcode('[bbp-forum-index]'); ?>
GD bbPress Attachments
bbPress に画像添付機能を追加したいときは、GD bbPress Attachments が便利です。
インストール後に「フォーラム」(bbPress)に「Attachments」が追加されるので、そこからファイルサイズや画像削除権限などを設定できます。デフォルトのままでも問題ありません。
登録時に審査を行わず、自由に書き込みができるような無料会員制サイトでは、アップロード権限を設定しておかないと良からぬ画像をアップされるかもしれません・・・。
Comment Images
Comment Images は、投稿や固定ページのコメントに画像を添付できるプラグインです。
設定画面はなく、インストールするだけでコメント欄に「参照」ボタンが追加されます。
非会員制サイトで使う場合は、コメントの手動承認を必須にしておきましょう。
いたずらでアダルト画像がアップされるかもしれませんし、もし著作権を侵害する画像がアップされてそれを放置していたら管理者の責任になってしまいます(Google AdSense 停止などにつながります)。
DW Question Answer
DW Question Answer は Yahoo! 知恵袋のような Q & A ページが作れるプラグインです。
一覧ページには検索フォームやステータス別のリンクが表示されます。
個別ページでは会員のアイコン(アバター)とニックネームが自動的に表示されます。
会員同士の交流は bbPress で十分ですが、会員からの特定の質問に応えるのは DW Question Answer のほうが使いやすいかなと思います。
ただ、日本語の情報がほとんどないのが難点で、日本語翻訳ファイルもありません。目に見える部分だけでも Poedit を使って翻訳したほうがよいです。
bbPress と同じく、ショートコードで任意の場所に一覧を出力することができます。
<?php echo do_shortcode('[dwqa-list-questions]'); ?>
Download Manager
会員向けにダウンロードコンテンツを用意している場合は、WordPress Download Manager で管理すると楽です。
インストールすると「Downloads」というカスタム投稿タイプが作られ、そのままページを公開することもできますし、ショートコードで呼び出すこともできます。
パスワードやダウンロード上限数も設定できるので、メルマガに登録してくれたらダウンロードパスワードを教える、というような使い方もできますね。
Contact Form 7
会員から管理者への連絡は掲示板だけでもよいかもしれませんが、メールでのやりとりやアンケートをとるなら Contact Form 7 も入れておきたいところです。
以下のようにフォームを設定しておけば、会員登録情報と紐づけてくれます。
<!-- 名前入力欄 -->
[text* your-name default:user_display_name]
<!-- メールアドレス入力欄 -->
[email* your-email default:user_email]
これらの入力欄は隠しておいて、本文だけ書いて送信できるようにしておくのも良いと思います。
Contact Form 7 の使い方と CSS デザイン・カスタマイズ方法
まとめ
WordPress はブログだけではなく会員制サイトも作れますが、保守メンテナンスに時間がとられるのがネックですね。会員登録ページをオープンにすると、うんざりするほどスパム攻撃されます。
また、本記事執筆時点(2016 年)と比べると、仕様が変わっていたり、公式ディレクトリから削除されているプラグインがいくつかありました。そのたびに代替プラグインを探さなければならず、長年運営するのには不向きかもしれません。
自分ですべてを管理できるというメリットもありますが、WordPress は 1 つの選択肢にすぎない、という点だけ覚えておいていただければと思います。