WordPressでログイン済みユーザーのみにコンテンツを表示するページを作成する方法

 Wordpressで会員制サイトを作っていると、ログイン済みユーザーのみにコンテンツを表示させたいことがあります。

 今回はそんな会員制サイトの構築に役立つ、ログイン済みユーザー専用ページの作り方を紹介していきます。

 

固定ページを作成してスラッグを決める

 まずは固定ページを作成してスラッグを決めます。

 スラッグというのはページ固有の英数字の名前のことで、投稿画面から変えることができます。

page.phpをコピーしてスラッグ名を加える

 続いて、Wordpressテンプレートディレクトリにあるpage.phpをコピーして、先程作成した記事専用の記事テンプレートを作成します。

 今回はコピーしたファイルを「page-mypage.php」という名前に変えました。この時ファイル名は「page-◯◯◯.php」となるようにしてください。

 ◯の部分は先程指定したスラッグ名が入ります。

Page-◯◯◯.phpに次の要素を追加

 先程作成したテンプレートに次のコードを追加します。

<?php if (is_user_logged_in()) : ?>
  <p>ログイン中に表示させたいコンテンツ</p>
<?php else : ?>
  <div class="post">
  <h2>NOT FOUND</h2>
  <p><?php echo get_theme_text_not_found_message();//見つからない時のメッセージ ?></p>
 </div>
<?php endif; ?>

 if〜elseで囲まれている部分はログインユーザーのみ見ることが出来る部分になります。必要に応じてテンプレート内の要素を囲ってあげてください。

まとめ

 Wordpressには予めたくさんの機能があるので、このように会員専用のページを作ることも簡単にできます。クローズドの内容で検索エンジンに登録されてほしくない場合は、このようにしてコンテンツを限定公開にしておきましょう。

フォローする