私のウェブサイトは会員制のウェブサイトなので、アクセスを制限して、訪問者がログインページと登録ページの2ページしか表示しないようにします。
私は正確にそれをするために複数のプラグインを試してみましたが、残念ながら私には正しいプラグインを見つけることができませんでした。一部のプラグインはWebサイト全体を1ページにリダイレクトしますが、他のプラグインは各ページのカスタムリダイレクト設定を個別に追加する必要があります。
欲しいもの: -
私のログインページには、登録ページを表示するオプションがあります。
これらの両方のページには訪問者がアクセスできるようにし、他のWebサイトにはアクセスできないようにします。
以下のコードはWordPressのデフォルトのログイン/登録画面で動作します。
add_action( 'wp', 'member_only_site' );
function member_only_site( ) {
if ( ! is_user_logged_in( ) ) {
auth_redirect();
}
}
可能な代替案:
global $pagenow;
$accessible_pages = array('wp-login.php', 'wp-login.php?action=register');
if ( !is_user_logged_in() && !in_array($pagenow, $accessible_pages) && !is_admin() ) {
auth_redirect();
}
ページがロードされるたびにログインページにリダイレクトされないようにするために、訪問者がパブリックにアクセスできるようにするページをカンマで区切って配列 "accessible_pages"に挿入できます。
このコードを試してください
function redi() {
global $pagenow;
if (!is_user_logged_in() && $pagenow != 'wp-login.php' && $pagenow !='wp-login.php?action=register') {
wp_redirect('wp-login.php?action=register');
}} add_action('template_redirect', 'redi');