新・元地方の中規模印刷会社で苦悩する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

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

  関連記事

CSSだけで作る最も単純なプルダウンメニュー(ドロップダウンメニュー)【Webデザイン】

1年以上前の記事です。内容が古い可能性があります。今まではIE6の存在等もあって …

foursquare(4sq)とFlickr(フリッカー)を連携させる方法

1年以上前の記事です。内容が古い可能性があります。foursquare(フォース …

Tumblr(タンブラー)を自分の言葉でつぶやこう(ツイッター連携時に自由にツイートする方法)

1年以上前の記事です。内容が古い可能性があります。Tumblr(タンブラー)とツ …

no image
メモリが”read”になることはできませんでした。

1年以上前の記事です。内容が古い可能性があります。Windowsのアプリケーショ …

猫に与えちゃ(食べさせては)いけないもの【ペロ追悼企画】

1年以上前の記事です。内容が古い可能性があります。先日、一番最初に飼い始めたうち …

著作権法が改正され私的利用でもコピーが違法になる

1年以上前の記事です。内容が古い可能性があります。著作権法が一部改正されるらしい …

小さい子でもできる百人一首「坊主めくり」には様々なルールがあった

1年以上前の記事です。内容が古い可能性があります。お正月と言うことで家族で百人一 …

ブックマークレットをカスタマイズした

1年以上前の記事です。内容が古い可能性があります。ライブドアブログ(livedo …

Window用FTPクライアントソフト「WinSCP」で「.htaccess」を表示させる方法

1年以上前の記事です。内容が古い可能性があります。FFFTPがガンブラーの標的に …

PHPプログラムもパーミッションの設定はしたほうが良い(Webプログラム)

1年以上前の記事です。内容が古い可能性があります。ロリポップ及びInterQの簡 …

血液型オヤジ