2017-08-09 10 views
0

私は強制ログインワードプレスプラグインを使用して特定のページを表示する前にログインを制限しますが、ログインなしでホームページを表示したいのですがホワイトリストにホームページを追加しようとしていますが、カスタムテーマ。私はこのプラグインを使用する必要がありますか/私はこの目的のために何をすべきかを提案できます。ワードプレスのホワイトリストのホームページ

function my_forcelogin_whitelist($whitelist) { 
      //$whitelist[] = 'http://localhost/wordpress/index.php/home/'; 
      //$whitelist[] = site_url('/index.php/home/'); 
       $whitelist[] = 'http://localhost/wordpress/index.php/'; 
       $whitelist[] = site_url('/index.php/'); 

     return $whitelist; 
    } 
    add_filter('v_forcelogin_whitelist', 'my_forcelogin_whitelist', 10, 1); 
+0

私は、あなたはおそらくユーザー「セッション」が開始された後にロードし、独自の小さなプラグインを作成することができると思います。あなたの関数を '$ _SERVER ['REDIRECT_URI']'(あるいはそれに相当するWordPressには100%流暢ではないので、ネイティブでこれを得る方法があります)を見て、最初にユーザがログインしているかどうかを確認してくださいそうでない場合は、ユーザーがホワイトリストに登録されているURLのいずれかにいるかどうかを確認します。私はあなたがデフォルトのサーバー書き換えを使用していると仮定...? – Rasclatt

答えて

0

テーマのfunctions.phpにこのコードを挿入します。あなたがログインしているかどうかをチェックします。次に、現在のページがホームページやフロントページでない場合、ユーザーをログインページにリダイレクトします。

あなたはリダイレクトするための他のプラグインは必要ありませんので、このコードをテストする前に、強制的なログインプラグインを無効にしてください。

function logged_in_only() { 
    if (! is_user_logged_in()) { 
     if(!is_home() || !is_front_page()) 
      auth_redirect(); 
    } 
} 
add_action('template_redirect', 'logged_in_only'); 
+0

おかげさまで、他のページがリダイレクトされないようにするにはどうすればいいですか? – nagi

+0

その後、3行目に条件タグを追加できます。ここでのWordPressの条件タグの詳細:https://codex.wordpress.org/Conditional_Tags –

関連する問題