会員制サイトを作るプラグイン「WP-Members」の完全マニュアル

WP-Membersとは

WP-Membersとは、「WP-Members Membership」というWordPressのユーザー管理を拡張するプラグインです。
会員制サイトによくあるユーザー登録機能ログイン機能を設定するだけで簡単に実装できる為、WordPressで会員制サイトを作りたいを思っている方でも作る人でも比較的簡単に作ることができます。

WP-Membersの特徴

  • インストールして設定するだけで会員サイトが作成できます。
  • 管理画面が日本語に対応しているため、わかりやすいです。
  • 会員制サイトに必要なユーザー登録、ログイン画面、パスワード再発行などのページが簡単に追加できます。
  • 無料で利用できます。(会費などが発生する際の決済機能は有料です。)

WP-Membersのインストール方法

  1. WordPressの管理画面にログインします。
  2. 左側のメニューから、「プラグイン」を選択し、その下にある「新規追加」をクリックします。
  3. 検索バーに「WP-Members Membership」と入力し、Enterキーを押します。
  4. WP-Membersの検索結果が表示されたら、「今すぐインストール」をクリックします。
  5. インストールが完了したら、「有効化」をクリックして、プラグインを有効にします。

設定画面の開き方

WP-Membersの設定画面へはダッシュボードから「設定」→「WP-Members」をクリックすると開けます。

初期設定後の設定

ログイン画面や会員登録を任意の画面でできるようにするには、新規作成で固定ページを作成し、ショートコードを入力する必要があります。

ログイン画面[wpmem_form login]
登録画面[wpmem_form register]

WP-Membersの「メール設定」の画面の日本語翻訳

WP-Membersの設定画面はデフォルトだと「メール」の項目すべてが英語になっています。いちいち翻訳するのが大変なので、ここに日本語訳を掲載します。

それぞれの設定をカスタマイズしながらご利用ください。

新規ユーザー登録

新規ユーザー登録は、「承認登録」が無効のときにだけ表示されます。

件名

Your registration info for [blogname]
[blogname]の登録情報について

本文

Thank you for registering for [blogname]!

Please confirm your email address by following the link below:
[confirm_link]

Once you have confirmed your email address, you will be able to log in using the credentials you created when you registered.
[blogname]への登録ありがとうございます!

以下のリンクをクリックして、あなたのメールアドレスを確認してください
[confirm_link]

メールアドレスを確認した後、登録時に作成した認証情報を使用してログインできます

新規ユーザー登録

「承認登録」が有効のときにだけ表示されます。

件名

Thank you for registering for [blogname]
[blogname]への登録ありがとうございます

本文

Thank you for registering for [blogname]. 
Your registration has been received and is pending approval.
You will receive login instructions upon approval of your account
[blogname]への登録ありがとうございます。
あなたの登録は受け付けられ、承認待ち状態です。
あなたのアカウントが承認されたら、ログイン手順を受け取ることができます

新規ユーザー登録時(承認時)

「承認登録」がチェック済みのときにだけ表示されます。

件名

Your registration for [blogname] has been approved

本文

Your registration for [blogname] has been approved.

Your registration information is below.
You may wish to retain a copy for your records.

username: [username]
password: [password]

You may log in and change your password here:
[user-profile]

You originally registered at:
[reglink]
[blogname]への登録が承認されました。

以下があなたの登録情報です。
記録用にコピーを保管することをお勧めします。

ユーザー名:[username]
パスワード:[password]

こちらからログインして、パスワードを変更できます
[user-profile]

あなたは以下から登録しました
[reglink]

パスワードのリセット

件名

Your password reset for [blogname]
[blogname]のパスワード再設定手続き

本文

A password reset was requested for [blogname].

Follow the link below to reset your password:
[reset_link]

If you did not request a password reset for [blogname], simply ignore this message and the reset key will expire.
[blogname]のパスワード再設定がリクエストされました。

以下のリンクをクリックして、パスワードを再設定してください。
[reset_link]

もし[blogname]のパスワード再設定をリクエストしていない場合は、このメッセージを無視してください。リセットキーは期限切れになります

ユーザー名の回復

件名

Username for [blogname]
[blogname]でのユーザー名

本文

Your username for [blogname] is below.

username: [username]
[blogname]でのユーザー名は以下の通りです。

ユーザー名:[username]

署名

件名

----------------------------------
This is an automated message from [blogname]
Please do not reply to this address
----------------------------------
これは[blogname]からの自動送信メッセージです。
このアドレスに返信しないでください。

WP-Membersの動作を細かくカスタマイズする方法

WP-Membersは設定画面の他、アクションフックやフィルターフックで細かくカスタマイズすることができます。

権限毎に管理バーの表示・非表示をする方法

WP-Membersのフックではないですが、WordPressにログインした際に表示される管理バーを非表示にしたいケースが多いです。

以下の例ではWordPressの「show_admin_bar」フィルターフックを使い、4行目の条件分岐で管理者と編集者の権限グループの時だけ管理バーが表示されるようにしています。

// 管理バーを権限グループ毎に表示・非表示を切り替える
function theme_show_admin_bar( $content ) {
	// 管理者・編集者の権限グループの場合は表示
	if ( current_user_can( 'administrator' ) || current_user_can( 'editor' ) ) {
		return $content;
	// 他の権限グループの場合は非表示
	} else {
		return false;
	}
}
add_filter( 'show_admin_bar' , 'theme_show_admin_bar' );

ログイン後、指定のページへリダイレクトする方法

// WP-Membersのログイン後の遷移先を変更
function theme_login_redirect( $redirect_to, $user_id ) {
	return '/member/';
}
add_filter( 'wpmem_login_redirect', 'theme_login_redirect', 10, 2 );

ログイン画面のラベルを変更する方法

ログイン画面のフォームのラベルを変更することができます。たとえば「ユーザー名またはメールアドレス」を「ユーザー名」のみにしたい場合はwpmem_default_textをつかって書き換えができます。

// WP-Membersのログイン画面のラベル変更
function theme_wpmem_default_text($text) {
	$text['login_username'] = 'ユーザー名';
	return $text;
}
add_filter('wpmem_default_text', 'theme_wpmem_default_text');

通知メールの送信先を変更する方法

デフォルトでは会員登録が行われた際の通知メールはWordPressの管理者メールアドレスに届きます。

管理者メールアドレスと分けたい場合はフィルターフックを利用すると変更できます。

送信先が1つの場合

function my_admin_email( $email ) {
	$email = 'xxxxx@xxxxx.com';
	return $email;
}
add_filter( 'wpmem_notify_addr', 'my_admin_email' );

送信先が複数の場合

送信先が複数の場合は「,」で区切ってメールアドレスを複数入れます。

function my_admin_email( $email ) {
	$email = 'xxxxx_1@xxxxx.com, xxxxx_2@xxxxx.com';
	return $email;
}
add_filter( 'wpmem_notify_addr', 'my_admin_email' );

管理者メールアドレスに加えて、さらにメールアドレスを追加する場合

function my_admin_email( $email ) {
	$email = $email . ', xxxxx_1@xxxxx.com';
	return $email;
}
add_filter( 'wpmem_notify_addr', 'my_admin_email' );