WP-Members
会員専用の限定コンテンツが簡単に構築できるWordpressのプラグイン「WP-Members」。
大変便利なプラグインですが、管理画面上の設定だけでは閲覧制限がかからない場合があります。
【WP-Members(公式)】
【基本的な導入方法(参考記事)】
https://mmcd-web.sounds-stella.jp/8817/
固定ページに閲覧制限がかからない場合がある
WP-membersを有効化すると、固定ページに個別で閲覧制限をかけられるようになります。
手順は、下記画像の赤枠部分で「Restricted」を選択するだけです。
ただし、管理画面のエディタではなく「page-スラッグ.php」で作成したオリジナルテンプレートの場合、この手順で制限をかけても普通に非ログイン状態で表示されてしまいます。
解決策
「page-スラッグ.php」に下記のとおりログイン判定の条件分岐を記述することで解決しました。
・ログイン時:page-スラッグ.phpに記述した内容を表示
・非ログイン時:管理画面の固定ページを表示(WP-membersのブロック設定が発動)
【サンプルコード】
<?php if( is_user_logged_in() ) : ?>
ログインユーザー(WP-members会員限定)にのみ表示させたい内容を記述
<?php endif; ?>
//非ログインユーザーの場合は管理画面の固定ページを表示
<?php
while (have_posts()) : the_post();
the_content();
endwhile;
?>
これで、phpファイルで構築したページも会員限定にできます。
簡単なことですが、なかなか参考記事が見つからなかったため、参考にしていただければと思います。