新・元地方の中規模印刷会社で苦悩するWebデザイナー改めWebディレクターの日記

自由な20代、窮屈な30代を経て、遂に40代になっちまったWebディレクター&パソコン講師の覚書と思う言(こと)。略称【ちほちゅう】

*

WordPress(ワードプレス)を会員制のサイトにする方法2 #wp

      2014/11/09

  • このエントリーをはてなブックマークに追加

1年以上前の記事です。内容が古い可能性があります。

先日、紹介した方法では、

  1. 部分的にオープンに出来ない。(全体がクローズドになってしまう。)
  2. 会員登録時に管理者側で検閲することができない。

等の問題がありました。
これを解決する会員制サイト(ブログ)の作り方です。

用意するもの(プラグイン)。

  • Theme My Login
    会員登録に管理者の承認を必要にすることができるプラグイン。

□ WordPress | 日本語
当ブログワードプレス関連の記事

スポンサーリンク
 

以前のやり方はプラグイン(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」をインストールします。
「プラグイン」→「プラグインの検索」→「いますぐインストール」→「プラグインを有効化」で簡単に。
ThemeMyLoginインストール

続いて各種設定、
「設定」→「Theme My Login」へ行き、「User Moderation を有効にする」にチェックを入れて「変更を保存」
ユーザーアカウント取得を管理01

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

以上ですべての設定が終了しました。
なお、新規会員登録の流れは以下のようになります。

  1. ユーザー側がサイト上からフォームで登録。このとき入力するのはメールアドレスとIDのみ。
    会員登録の流れ01
  2. 管理者にメールでその旨が報告される。こちらに認証のためのURLが書かれている。
    会員登録の流れ02
  3. メールに書かれたURLをクリックして、管理サイトにアクセスしユーザーを承認する。
    会員登録の流れ03
  4. ユーザー側に認証された旨がメールで届く。こちらに任意で作られたパスワードが書かれている。
    パスワードはユーザー側で変更可能。
    会員登録の流れ04
なお、「Theme My Login」をインストールすると「login」というログイン用固定ページが用意され、こちらをカスタマイズすることでオリジナルのログイン用ページを作ることができます。

以上なのですが、ここで感のいい人は前回の「Angsuman’s Authenticated WordPress Plugin」を使った設定と、今回の「Theme My Login」を使った設定を組み合わせて使えないかと考えると思います。
僕もそれ、考えたのですがそれぞれの仕様の食い違いでちゃんと動いてくれませんでした。
個人的には今回の「Theme My Login」を使った方法さえ覚えておけば良いと思います。
Angsuman’s Authenticated WordPress Plugin」を使った方法のほうがお手軽ですけどねぇ。

 - CMS, WordPress, プログラミング, 覚え書き , ,

アドセンス広告メイン

Message

メールアドレスが公開されることはありません。

  関連記事

フォローされているかされていないかを確認する簡単な方法【ツイッター】

1年以上前の記事です。内容が古い可能性があります。埼玉県熊谷市のツイッター(Tw …

イメージ広告も表示させた方が広告収益が上がる

1年以上前の記事です。内容が古い可能性があります。以前、Googleに勧められて …

no image
ホメオパシーとは何のこと?

1年以上前の記事です。内容が古い可能性があります。ここ数日、難しめブログに「ホメ …

P905iの電話帳をiPhoneに取り込む方法

1年以上前の記事です。内容が古い可能性があります。docomo(ドコモ)ケータイ …

iPhone(アイフォーン)を紛失したらすべきこと

1年以上前の記事です。内容が古い可能性があります。去年の暮れ30日に映画を見に行 …

WordPress(ワードプレス)+Google Analytics(グーグルアナリティクス)ですべてのリンククリック(クリックイベント)を計測する設定

1年以上前の記事です。内容が古い可能性があります。WordPress(ワードプレ …

食べログでは1つの記事から2つ以上のお店にトラックバックが送れた

1年以上前の記事です。内容が古い可能性があります。先日、「思い出しレビューその4 …

iPhoneで移動中にカメラのシャッターを切ると画像が歪む

1年以上前の記事です。内容が古い可能性があります。これは自分の「iPhone 3 …

no image
CADデータの標準フォーマット

1年以上前の記事です。内容が古い可能性があります。印刷物関係でたまにわけのわから …

iPhoneの連絡先を「iCloud」と「Outlook Express」同時に同期させる方法

1年以上前の記事です。内容が古い可能性があります。iPhoneのOS(iOS)を …

血液型オヤジ