- 部分的にオープンに出来ない。(全体がクローズドになってしまう。)
- 会員登録時に管理者側で検閲することができない。
これを解決する会員制サイト(ブログ)の作り方です。
用意するもの(プラグイン)。
- Theme My Login
会員登録に管理者の承認を必要にすることができるプラグイン。
□ 当ブログワードプレス関連の記事
以前のやり方はプラグイン(Angsuman's Authenticated WordPress Plugin)をインストールすることでサイト全体にアクセス制限(ログインしていないと見れない)をかけました。
今回はアクセス制限(ログインしていないと内容を表示させない)のための表記を加えた「固定ページテンプレート」を用意してそれを、会員専用ページにのみ適応させるという方法を取ります。
固定ページを作るときにテンプレートを設定する。

従って固定ページであれば個別にアクセス制限をかけることができますが、ブログ(投稿)の場合はブログ全体にアクセス制限をかけるしかありません。
この辺り、セキュリティ上の問題を度外視すれば工夫次第で色々できると思います。
まずは「Theme My Login」の解説の前にその方法を解説します。
非常に簡単です。
<!--?php if (!is_user_logged_in()){auth_redirect();} ?-->
こちらの表記をテンプレート内のHTML部分の先頭に配置すればOK。PHPプログラム内であれば
if (!is_user_logged_in()){auth_redirect();}
になります。これを必要に応じて「外観」→「テーマ編集」でテンプレートに書き加えていけばいいわけです。
これだけでひとまずアクセス制限はできるのですが、これだと前回同様、外部から来た方が会員になれないので、
「設定」→「一般」→「メンバーシップ」の「だれでもユーザー登録ができるようにする」にチェックを入れて「変更を保存」

これで、ID入力画面からどなたでもIDを取得することができるようになります。

「登録」というリンクが現れ、こちらから会員登録ができるようになる。
(ここは前回と全く同じ。原稿もコピペですすみません。)
ただしこれだと逆に誰でも会員になれてしまうので問題があります。
前回はここまでだったのですが「Theme My Login」をインストール、設定することで、管理人認証をさせることができます。
まずは「Theme My Login」をインストールします。
「プラグイン」→「プラグインの検索」→「いますぐインストール」→「プラグインを有効化」で簡単に。

続いて各種設定、
「設定」→「Theme My Login」へ行き、「User Moderation を有効にする」にチェックを入れて「変更を保存」

すると「一般」タグの右に「承認」タグが現れるのでこちらをクリック。
ユーザー承認を「管理者承認」にして「変更を保存」

以上ですべての設定が終了しました。
なお、新規会員登録の流れは以下のようになります。
- ユーザー側がサイト上からフォームで登録。このとき入力するのはメールアドレスとIDのみ。

- 管理者にメールでその旨が報告される。こちらに認証のためのURLが書かれている。

- メールに書かれたURLをクリックして、管理サイトにアクセスしユーザーを承認する。

- ユーザー側に認証された旨がメールで届く。こちらに任意で作られたパスワードが書かれている。
パスワードはユーザー側で変更可能。
なお、「Theme My Login」をインストールすると「login」というログイン用固定ページが用意され、こちらをカスタマイズすることでオリジナルのログイン用ページを作ることができます。
以上なのですが、ここで感のいい人は前回の「Angsuman's Authenticated WordPress Plugin」を使った設定と、今回の「Theme My Login」を使った設定を組み合わせて使えないかと考えると思います。
僕もそれ、考えたのですがそれぞれの仕様の食い違いでちゃんと動いてくれませんでした。
個人的には今回の「Theme My Login」を使った方法さえ覚えておけば良いと思います。
「Angsuman's Authenticated WordPress Plugin」を使った方法のほうがお手軽ですけどねぇ。
以上なのですが、ここで感のいい人は前回の「Angsuman's Authenticated WordPress Plugin」を使った設定と、今回の「Theme My Login」を使った設定を組み合わせて使えないかと考えると思います。
僕もそれ、考えたのですがそれぞれの仕様の食い違いでちゃんと動いてくれませんでした。
個人的には今回の「Theme My Login」を使った方法さえ覚えておけば良いと思います。
「Angsuman's Authenticated WordPress Plugin」を使った方法のほうがお手軽ですけどねぇ。


