弊社制作案件でプラグイン WP-Members を使って特定の固定ページの会員限定の閲覧制限を設定したのですが、ログインしていなくても閲覧できてしまう不具合が発生。
検証を繰り返しているとページの表示カスタマイズに専用のテンプレート(php-ページスラッグ.php)を使うときだけ症状が出ることがわかりました。
ググってみると同じ体験者はおられるようで、Tipsがありました。
それならば、php-ページスラッグ.php にログインしているとき、していないときの分岐処理を追記してしまおうということで、これで回避します。
» (参考) WP-membersで「page-スラッグ.php」の固定ページに閲覧制限をかける方法
弊社の案件では非ログインユーザーはログインページに自動遷移するコードにカスタマイズしました
php-ページスラッグ.php に強制コードを追記
<?php if ( ! defined( 'ABSPATH' ) ) { exit; // 直接アクセスを防ぐ } // ユーザーがログインしているか確認 if ( ! is_user_logged_in() ) { // 非ログイン時にリダイレクト wp_redirect( home_url( '/member_login/' ) ); exit; // 以降のコードを実行させない } // 通常のテンプレートコード get_header(); ?> <?php get_footer(); ?>
でも、弊社の他の案件ではこの処置をしなくても正常に機能しているので必ずそうなるという症状でもないみたいなので…
これはプラグインのほうで改善してほしいものなのですが…