ホームページの一部に、Wordpressで会員専用のページをつくりたい!といった事があるかと思います。
会員向けコンテンツを作れるプラグインなども色々ありますが、今回はそこまで凝ったものではなくて特定のページだけパスワード保護して、パスワードを知っている人だけが見られるものを作りたいといったような場合についての紹介です。
Contents
固定ページをパスワード保護する
まず、特定の人のみに見せたいページを作ります。新規ページでも、既存ページでもokですので、記事の入力が済んだら右側の公開設定からパスワード保護を行って終了!
そして、プレビューするとコンテンツ部分が見えなくなっていて、先ほど設定したパスワードを入力するとコンテンツが表示されるといった仕組みです。
これだけで簡易的な会員向けコンテンツの準備が出来てしまいますので、会員登録が必要で個々のパスワードを準備して…といったようなことでなければ、これでも良いのではないでしょうか。
ただし、うまくいかない場合もあるので、そこは焦らずにいきましょう!
パスワード保護がうまくいかない場合
例えば固定ページにカスタム投稿一覧などを読み込ませる場合、固定ページテンプレート(page.phpなど)にAdvanced Custom Fieldsでカスタムフィールドを設定していると、上記の方法で固定ページにパスワード保護をかけても、真っ白な画面が表示されたりする結果となります。
テンプレートに追加の記述を行う
カスタムフィールドを設定したテンプレートに下記のように記述を追記します。
<?php if( !post_password_required( $post->ID ) ) : ?> //ここを追記 <?php if( get_field('content_block') ): ?> //カスタムフィールドで入力エリアを設定 <?php the_field('content_block'); ?> <?php endif; ?> <?php else: ?> //ここを追記 <section class="password-block"> <?php echo get_the_password_form(); ?> //ここを追記 </section> <?php endif; ?> //ここを追記
これで解決するかと思われますので、同じような症状になった場合は試してみてください。
今回のまとめ
簡易的なパスワード保護をしたページを作りたいというご相談は、これまで何度も頂きました。どのような機能が必要なのかしっかりと検討した上で、会員ページ作成プラグインを入れるのか、今回ご紹介したようなパスワード保護をかけたページを用意するのかを決めていきましょう。
では、また!