WordPressでログインしたユーザーにしか見えないページを作る方法 その1

あるページの話を相談されていたときに「限られた人にしか見えないページを作りたい」という話がありました。サイト全体をログインしたユーザーでしか使えない方法は以前「WordPressで限られたメンバーだけのサイトをプラグインで作ってみる」で書いたプラグインでできるのですが、今回は他のページは誰でも見ることができ、指定したページだけログインしたユーザーにしか見えないページを作るということなのでそれとはちょっと違います。
ちょっと調べてやってみたら案外簡単に、ログインしたユーザーにだけ見せるページを作ることができたので、その方法について書きます(^^)/

こんなページをログインしたユーザーにだけ見せたい

ログインしたユーザーだけにしか見えないページを作る、ということですが例えば、

こんな感じの「ログインユーザーさんだけが利用できるセール」ページを作って、ログインしたユーザーさんだけが閲覧可能になるようにしたい!というようなことがあると思います。そういう時に使える方法を考えました。

ログインするユーザーを登録する

試しになのでダッシュボードからログインするユーザーを登録します。

ダッシュボード ユーザー>新規追加 をクリック

こんな感じに登録します。ページを見ること以外は特に何もして欲しくないので、権限グループ は 購読者 にしました。

メンバー専用のテンプレートを作って表示を確認する

固定ページでメンバーしか見ることができないようにするにはメンバー専用のテンプレートを作って、それを適用します。

といっても、作り方はとても簡単です。

親テーマから page.php を 子テーマにコピー

子テーマのpage.phpを page-membersonly.php にリネームする(-xxxxの名前は自由に付けてかまいません)。

page-membersonly.php を開いて、一番上に書いてある <?php の直後に(なければ <?php を追加して最後に ?> を追加)
 

この行を追加します。Template Name: page-membersonly は今リネームしたファイルの .php を除いた部分となります。別の名前を付けた場合はその名前をここに入れます。

その次の行で もしログインユーザーでなければ、トップページを表示する という命令が書いてあります。これで、ログインしていないユーザーが見に来たときにこのページは表示されずトップページに移動することになります。

最初にこれを入れるだけで他はそのままでOKです。

メンバー専用にしたい固定ページの編集画面で

ページ属性 テンプレート が デフォルト になっていると思いますが、

▼ をクリックして今作ったテンプレート page-membersonly を選びます。

固定ページの更新(新規の時は公開)をクリック。

これでメンバー専用のページができました。

メンバー専用ページを見てみる

ログインしていない状態でメンバー専用ページを見ようとすると

このようにトップページが表示されます。

先ほど作ったテストユーザーでログインします。

そして、メンバー専用ページを見ると



ログイン済みのユーザー専用ページ
を見ることができるようになりました(^^)/

これで会員限定のコンテンツを公開することが簡単にできますね。

本格的な運用を考えると考慮すべきこと

これを本格的に運用しようとすると考慮すべきことがあります。

・ログインしたとき必ずダッシュボードに行くが、購読者だったらトップページに行くようにしたい
・ログインするときのログイン画面の画像はWordPressではなく、そのサイトの独自のものにしたい
・購読者がログイン済みのとき、ツールバーを表示するのではなく、サイドバーにログアウトとプロフィール変更のリンクを付けたい
・ユーザーの新規登録ができるようにしたいけど、自動認証ではなく一旦管理者が確認して承認したい

などです。これらについて方法が分かっているものもあるのですが、試してみないと実際はどうなるか分からない部分もあるのでそれについてはまた別途blogでかきたいと思います。

兎本美佳
ブログを見た人がそのままできたらいいなと思って、できるだけ丁寧に書いています。blogに書いたようなネタの有償対応のご相談は「ゆうそうと」へいただければと思います(^^)/ 無償での対応をご希望の場合は、コメントをいただけましたら可能な場合はコメントを返させていただきます。

シェアする

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

フォローする

スポンサーリンク
スポンサー広告
トップへ戻る