
みなさんはWordPressで会員サイトを作る時に、何を使って会員サイトを作ったりしますか?
Theme My LoginやSimple Membershipなど色々な会員サイトを作るためのプラグインが存在します。
私が初めてWordPressで会員サイトを作った時は、WP-Membersというプラグインを使って会員サイトを作りました。
というわけで、今回はWP-Membersという無料で会員サイトを作ることができるプラグインの使い方を紹介していきます!
Contents
利用している環境について
今回こちらで紹介しているWordPressのバージョンや使用テーマなどは下記の通りです。
– WordPress: version 6.8.3
– テーマ: Twenty Twenty-Five version 1.3
– WP-Members: version 3.5.4.3
上記のバージョンと多少ズレていたとしても、WP-Members上の操作の流れは概ね同じだと思います。
こちらで紹介している画像と多少がズレていた場合は、上記のバージョン違いがないかなどチェックしてください。
WP-Membersのダウンロード方法
WP-Membersは上記の公式プラグインディレクトリからダウンロードできます。
WP-Membersのインストール方法
まずは、公式サイトからzipファイルをダウンロードしましょう。
ダウンロードができたら、プラグインメニューの「インストール済みプラグイン」のページから「新規追加」というボタンをクリックします。

すると、下記画像のように表示されると思います。
「プラグインのアップロード」というボタンをクリックします。

あとは、「ファイルを選択」の部分に先程ダウンロードしたwp-members.zipをセットして「今すぐインストール」をクリックします。
しばらくすると下記のような画面が表示されると思います。
表示されたら、「プラグインを有効化」をクリックして有効化しましょう。

検索結果に載らないようにする
会員制サイトを作るとなった場合、検索結果に作成した会員サイトが表示させたくないというようになると思います。
その場合は、WordPressをインストールする際に検索結果にインデックスされないようにするためのチェックボックスにチェックを入れる。
または下記の設定 > 表示設定の箇所から検索エンジンでの表示の項目にチェックを入れるようにしましょう。
推奨事項の設定
有効化ができたらWP-Membersの設定画面を表示して、まずは推奨事項の設定を行っていきます。
WP-Membersの設定画面はWordPressメニューの設定の中に「WP-Members」という項目があると思いますので、そこをクリックするようにします。

表示がされると、下記のように3つの赤いラベルの項目が表示されていると思います。
(ここに何も表示がない場合は飛ばして頂いて大丈夫です。)

WordPress設定 – だれでもコメントができるようになっています。これは推奨される設定ではありませんについて
この推奨設定について意図通りである場合はこのセクションは飛ばして頂いて大丈夫です。
(例えばコメントだけは会員以外の人もできるようにしたいなどにしたい場合などです。)
まず、始めのラベルを見てみると次のように表示されていると思います。
「WordPress設定 – だれでもコメントができるようになっています。これは推奨される設定ではありません。」
これはどういうことかというと、会員登録していないユーザーでも会員限定コンテンツにコメントができるようになっているということです。
つまり、見た目は会員サイトだけど誰でも匿名でコメントができるという状態になっているわけです。
なので、まずはここを修正していきます。
修正する場合は、WordPressメニューの中の「設定」の項目の中に「ディスカッション」というコメントについてメニューがあると思うのでこちらをクリックします。

すると上記のような画面が表示されると思います。
表示されたら、 画面の中にある「ユーザー登録してログインしたユーザーのみコメントをつけられるようにする」にチェックを入れましょう。
チェックを入れたら、一番下のところにある「変更を保存」ボタンをクリックして保存をするようにします。
そのあとに設定「WP-Members」をクリックして、設定画面に戻ると出ていた赤いラベルの内1つが消えていると思います。

WordPress設定 – RSS/Atomフィードが全文表示になっています。これは推奨される設定ではありませんについて
次は2つ目の赤いレベルを見ていきます。
このラベルでは次のように表示されていると思います。
「WordPress設定 – RSS/Atomフィードが全文表示になっています。これは推奨される設定ではありません。」
このブログ記事のようなサイトを見ている人は、RSSと呼ばれる形式で色々なサイトの記事を取得してきてみている人がいます。
今回の記事では主にWP-Membersを利用して会員制サイトの作成を使用している人が主に読んでいるはずです。
RSS/Atomフィードが全文だと誤って会員制のコンテンツを誰でも見れる状態で公開などをしてしまうと、全文がRSS/Atom形式で配信されてしまいます。
そのためそういった事故が起きた時の被害を最小限に抑えるためにも全文ではなく、抜粋された内容にしておいた方がほとんどのケースにおいては良いでしょう。
まずは、下記画像のようにメニューの設定の中から「表示設定」をクリックしましょう。

表示されたあとは、「RSS/Atomフィードで表示する最新の投稿数」の項目部分のチェックを「抜粋のみを表示」のところに合わせてチェックを入れます。

チェックを入れたら、変更を保存を押しましょう。
これで2つ目の赤いラベルの設定は完了です。
ここで、WP-Membersの画面に戻って見ると下記のように赤いラベルが消えていると思います。

推奨事項の設定が完了したら、次はWP-Membersの基本設定を行っていきます。
WP-Membersの基本設定では、それぞれ下記のメニューの設定を順番に行っていきます。
1.WP-Membersオプション
2.フィールド
3.ダイアログ
4.メール
5.Shortcodes
WP-Membersオプションの設定
WP-Membersオプションの設定画面には下記の4つの項目が存在しています。
・コンテンツ
・その他の設定
・固定ページの設定
・スタイルシートの設定
上記の設定をそれぞれ順番に行っていきます。
コンテンツ
コンテンツの項目では下記のような項目が並んでいます。
– コンテンツの制限
– 抜粋を表示
– ログインフォームを表示
– 登録フォームを表示
– 自動抜粋
コンテンツの制限
コンテンツの制限では下記2種類のページのコンテンツを制限するかどうかを選べます。
– 投稿
– 固定ページ
例えば投稿ページを制限するとページの詳細と一覧が下記のように表示されます。
制限前の表示
投稿一覧ページ

投稿詳細ページ

制限後の表示
投稿一覧ページ

投稿詳細ページ

上記を見て頂ければわかる通り、WP-Membersを使っても投稿一覧ページについては制限が適用されません。
この点については注意が必要です。
表示されるコンテンツの中身を絞りたい場合は、次の抜粋を表示から設定を行うことである程度緩和させることができます。
抜粋を表示
抜粋を表示ではチェックボックスを入れることで一覧に表示されるコンテンツの一部のみを表示させることができます。
適用する場合は下記のように抜粋を表示の箇所にチェックを入れて、更新設定をクリックします。

ただし自動抜粋の設定を何もしていない場合は、一覧ページと詳細ページにコンテンツを制限していたとしても、そのままコンテンツがすべて表示されます。
(もしfunctions.phpに何か抜粋関係の処理を施している場合は、コンテンツがある程度抜粋されて表示されるという状態になっている可能性があります。)
投稿一覧ページ

投稿詳細ページ

そのためここについては、要望次第ですが、下記のいずれかで対応されるのが良いと思います。
– 抜粋設定はせず、functions.phpで投稿一覧は抜粋または別の表示になるように処理を追加
– 抜粋設定を設定し次の自動抜粋で緩和
自動抜粋
自動抜粋の設定をすることで下記の設定を行うことができます。
– 抜粋時の文字数の設定
– 続きを読むのリンクを好きなテキストに変更
抜粋時の文字数の設定
抜粋時の文字数を例えば5文字のようにすると、投稿一覧・詳細ページの抜粋が適用した文字数に変更されます。

投稿一覧ページ

投稿詳細ページ

続きを読むのリンクを好きなテキストに変更
続きを読むへのカスタムリンクを下記のように設定すると、任意の続きを読むというテキストを表示することができます。
(枠が小さくて見えにくいですが、カスタムと設定しています。)

すると投稿一覧ページの続きを読むのリンクが設定したものに変更されます。

ログインフォームを表示
ログインフォームを表示については、チェックを入れるとチェックいれたページの詳細画面上にログインフォームが表示されるようになります。

登録フォームを表示
こちらについてもログインフォームと同様で、チェックを入れると登録フォームが表示されるようになります。

その他の設定
その他の設定については下記の設定項目が存在しています。
– メンバーシップを有効化
– 管理者に通知
– 承認登録
– 確認用リンク
– 警告メッセージを表示しない
– 通知と診断
– 貴族
– 登録時用の CAPTCHA を有効化
メンバーシップを有効化
この機能を有効化すると会員レベルに合わせてコンテンツの表示の切り替えといったことができるようになります。
管理者に通知
これは書いてあるとおり、新規ユーザーが登録された場合に設定されているメールアドレスに対して新規登録された旨が送信されます。
下記のようなメールが実際に管理者側に送信されます。

管理者に通知されるメール
この管理者に通知されるメールはデフォルトではWordPressメニュー画面の一般の設定ページにある、管理者メールアドレスに送信されます。
もしここを変更したい場合は、用途に合わせて下記のようなコードをfunctions.phpに追加する必要があります。
通知先のメールアドレスを変更したい場合
|
1 2 3 4 5 6 7 8 9 10 |
/** * This is a single email example. To change the * notification address just return the filtered result. */ add_filter( 'wpmem_notify_addr', function( $email ) { return 'notify@example.com'; }); 引用元:https://rocketgeek.com/plugins/wp-members/docs/filter-hooks/wpmem_notify_addr/ |
通知先のメールアドレスを複数に変更したい場合
|
1 2 3 4 5 6 7 8 9 10 11 |
/** * This is a multiple email example. Note that your outgoing * mail server must support receiving multiple emails as * comma separated values for this to be supported. */ add_filter( 'wpmem_notify_addr', function( $email ) { return 'notify@example.com, notify2@example.com'; }); 引用元:https://rocketgeek.com/plugins/wp-members/docs/filter-hooks/wpmem_notify_addr/ |
例えば複数にした場合下記のようにToが変更されます。

ちなみにメールの本文については、メール設定の箇所で変更できます。
承認登録
承認登録ではユーザーが新規登録した時に、一度仮登録状態になります。
管理者が承認したタイミングで承認されたという通知がユーザーの方に送信され、そのメール経由でサイトに登録できるようになるという設定です。
確認用リンク
ユーザーが新規登録した際に一度メールアドレスの確認のために、確認リンクがメールに送付されそのリンク経由でユーザーが行動を起こして初めてユーザーが本登録という流れを組むことができます。
警告メッセージを表示しない
この設定は設定すると、この記事の最初のところで行った推奨事項の警告を表示しないようにすることができます。
例えば下記のように警告が出ている状態で、警告メッセージを表示しないにチェックを入れると下記のような警告が表示されなくなります。

通知と診断
こちらについては、コードを見たりして利用されていなそうな箇所がありましたが、WordPressの画面上のどこに表示されるかを見つけることはできませんでした。
そのため、ここについての詳細がわかり次第追記します。
帰属
ここについてはチェックを入れると登録フォームの箇所に下記のようにpowered by WP-Membersという表記が追記されるようになります。

登録時用のCAPTCHAを有効化
CAPTCHAは操作しているユーザーがボットではないかどうかを判断するための仕組みです。
ここの設定を有効にすることによりCAPTCHAを導入することができます。
固定ページの設定
ここではそれぞれWP-Membersで用意されているショートコードを貼り付けたページを指定します。
ログインページでは、下記のショートコードを
固定ページの設定をしていきます。
設定する必要がある固定ページは次の3つです。
1.ログインページ。
2.登録ページ。
3.ユーザープロフィールページ。
ログインページ作成
ログインページを作成するには、まず固定ページを作成する必要があります。
まずは、メニューの固定ページから「新規追加」をクリックして下記画像のように設定し行きましょう。
ショートコードブロックを選択します。

選択したら、ショートコードを貼り付けます。

ログインページのショートコードは、[wpmem_form login]です。
入力できたら公開または保存をクリックしましょう。
これでログインページの作成は完了です。
登録ページの作成
次は登録ページを作成していきます。
登録ページを作成するには、さっきと同じようにしていきます。
まずは、メニューの固定ページから「新規追加」をクリックして下記画像のように設定し行きましょう。
登録ページのショートコードは、[wpmem_form register]です。

これを文章入力画面に入力して、タイトルなどを入力したら「公開」ボタンを押します。
これでユーザー登録ページの作成は完了です。
ユーザープロフィールページ
次はユーザープロフィールページを作成していきます。
ユーザープロフィールページを作成するには、さっきと同じようにしていきます。
まずは、メニューの固定ページから「新規追加」をクリックして下記画像のように設定し行きましょう。

ユーザープロフィールページのショートコードは、[wpmem_profile]です。
これを文章入力画面に入力して、タイトルなどを入力したら「公開」ボタンを押します。
これでユーザープロフィールページの作成は完了です。
WP-Membersオプションページで設定
各固定ページが作成できたら、最後にWP-Membersの設定画面に戻って固定ページの設定を反映します。
固定ページの設定を反映するには下記画像のように設定します。

これで固定ページの設定は完了です。
その他のショートコード
WP-Membersでは、紹介してきたショートコードの他にも次のようなショートコードがあります。
ユーザー情報編集ページショートコード。
[wpmem_form user_edit]
パスワード変更ページショートコード。
[wpmem_form password]
ユーザー名を忘れた場合のページ生成ショートコード。
[wpmem_form forgot_username]
スタイルシートの設定
wp-membersにはデフォルトのスタイルシートがありますが、任意のスタイルシートを利用したい場合はここに貼り付けるようにします。
ここに貼るよりはテーマ側でスタイルシートを上書きした方が通信が発生することを考えると、ここはこのままにしておいた方が良いでしょう。
フィールドの項目設定
フィールド項目はユーザーが登録する時の項目のことです。
(下記画像参照)

ここの項目は設定「WP-Members」のフィールドの中で選択することができます。

ここでは、次の設定をすることができます。
1.登録フォームの項目設定。
2.登録フォームの必須項目設定。
登録フォームの項目設定について
ユーザー登録に表示される項目の中で、表示の項目にチェックが入っている項目が表示されます。
例えば、Address1とAddress2にチェックを外すとユーザー登録画面で住所1と住所2にが削除されます。
ちなみに、チェックを外す時は必須項目のチェックも一緒に外すようにしましょう。
また、適用ボタン横にあるセレクトボックスを「設定を保存」にセットするのを忘れないようにします。
チェックを外したら、適用ボタンをクリックすると保存ができます。

保存ができたら、ユーザー登録画面を見てましょう。
うまくいっていると、フォームの中から住所と住所2が消えていると思います。

ユーザーの登録項目を設定する時はここを編集するようにしましょう。
登録フォームは必要がなければ極力少なくする
wp-membersの初期の設定だと、個人情報がかなり含まれているため特段要件がなければ極力少なくするようにしましょう。
またメールアドレスも個人情報にあたるため、個人情報についての扱いやプライバシーポリシーなどについても記載された利用規約を設定するようにします。
フィールドの項目から下記のように項目を設定します。

表示が下記のように表示されます。

リンクも表示するために下記のようにコードを追加してカスタマイズします。
|
1 2 3 4 5 6 7 |
add_filter( 'wpmem_register_form_rows', 'custom_wp_members_fields', 10, 2 ); function custom_wp_members_fields( $rows, $tag ){ $rows['terms_of_service']['row_after'] = '<label for="policy"><a href="http://example.com/policy">利用規約はこちら</a></label>'; return $rows; } |
すると表示が下記のようになります。

実際の運用では利用規約に同意した履歴を残す必要が出てくることもあるため、利用規約の運用については弁護士の方に事前にチェックしてもらうようにしてください。
ダイアログ設定
ダイアログでは、下記のように特定のアクションを実行した時に表示するメッセージになっています。

ここに記載の項目の場合は、このままにして翻訳ファイルを利用すると日本語に翻訳されます。
ただし下記の項目については特別な理由がない限りセキュリティ的な観点で、変更した方が良いでしょう。
– ユーザー名使用済み
– メールアドレス登録済み
– パスワードリセットを実行時、ユーザー名もしくはメールアドレスが存在しない場合
上記の項目はそれぞれユーザー名とメールアドレスの有効性を確認できるようなメッセージになっています。
ユーザー名・メールアドレス周りについて
ユーザー名使用済み・メールアドレス登録済みはそれぞれ登録時に用いられるメッセージです。
このメッセージについては下記のように統一しておくと少しは緩和することができます。
– 登録を完了できませんでした。入力内容をご確認ください。
またパスワードの相違についても、上記のメッセージにしておくことで入力者はどこの部分が間違っているかを知ることができないため、セキュリティ的な観点ではおすすめです。
本当はユーザー名とメールアドレスがそれぞれ存在していても、下記のように確認メールを送信しましたと統一しておくと、よりセキュアですが、WP-Membersではデフォルトではできないため緩和策を講じることしかできなさそうです。
パスワードリセットを実行時、ユーザー名もしくはメールアドレスが存在しない場合
パスワードリセットを実行時、ユーザー名もしくはメールアドレスが存在しない場合についても、実行者がユーザー名とメールアドレスの存在が確認できるようなメッセージになっています。
そのためここのフィールドはユーザー名またはメールアドレスが存在しない場合でも、パスワードリセットの箇所と同じ内容にして判断がつかないようにしておくとメッセージから推測するという攻撃を緩和することができるでしょう。
パスワードリセットは英語・日本語それぞれ下記のようになっています。
(内容は執筆時のもののため、変更については最新の翻訳ファイルを参照してください。)
英語: An email with instructions to update your password has been sent to the email address on file for your account.
日本語: リセット要求を受信しました。パスワードのリセットを完了するための手順が記載されたメールが送信されました。
多言語対応時
今回紹介してきたセキュリティ的な対応についてですが、多言語対応を想定している場合。自前で翻訳ファイルを用意して翻訳の対応を行う必要があります。
ショートコード設定
ここについてはwpmem_fieldショートコードを利用しない場合は、「完全に無効 [wpmem_field] ショートコードを完全に無効にします。」に設定しておきましょう。
メール設定
メール設定はWP-Membersのタブから、メールをクリックして表示します。

WP-Membersのメールについては英語になっていますが、翻訳ファイルを利用すると日本語化されます。
内容を変更したい場合はこの画面で適時変更を加えます。
もし多言語対応を想定していて、かつ内容を変更したい場合は翻訳ファイルを時前で用意する必要があります。
カスタムメールアドレスについて
メール設定の画面にカスタムメールアドレスという項目があります。
この項目は設定をすることで、メールを受けとった時のメールアドレスを変更することができます。
ここの項目は下記画像の部分に関係してきます。

ここは何も設定しないと上記画像のように、ドメイン名.comのようになります。
送信者の名前について
送信者の名前も変更することができます。
これは、何も設定しないとデフォルトでWordPressのように設定されます。
カスタムメールアドレスと送信者の名前を変更
カスタムメールアドレスと送信者を下記のように変更してみました。

すると、メールを受け取った側で下記のように表示されます。

使える特殊文字について
WP-Membersでは、メールの中で使える特殊文字があります。
特殊文字とは、メールを送信する際に自動で別の文字に置き換えられる文字のことです。
例えば、次のような特殊文字があります。
[blogname]
[blogname]はあなたがWordPressで設定している、ブログの名前に置き換えられます。
[subj]
[subj]はあなたがWordPressで設定している、ブログの名前に置き換えられます。
[user_id]
[user_id]には登録したユーザーIDが入ります。
[user_login]
[user_login]は登録したユーザーがログイン時に使用する名前が入ります。
[user_email]
[user_email]は登録したユーザーのメールアドレスが入ります。
[wpmem_msurl]
[wpmem_msurl]は基本設定で、ユーザーのプロフィール画面が設定されている時に、そこのURLが入ります。
[reg_link]
[reg_link]はユーザーが登録する時に使用する登録ページのURLが入ります。
まとめ
いかがだったでしょうか?
WP-Membersはちょっとした無料会員サイトの作成や、WordPressの知識がある人はこのプラグインを使って本格的な会員サイトを作ったりすることができるプラグインです。
ぜひ、会員サイトを作る時などに活用してみて下さい!
