2017-02-24 5 views
0

in my functions.phpログイン後にリダイレクトがあります。現在、この:ログイン後、ブラウザの言語に基づいて特定のページにリダイレクト

add_action('template_redirect', 'wpdm_login_redirect'); 
function wpdm_login_redirect(){ 
if(is_user_logged_in() && get_the_ID() == get_option('__wpdm_login_url')): 
    wp_redirect(home_url('/dashboard')); 
    exit(); 
endif; 
} 

予想通り、これは動作しますが、私は、ブラウザの言語がイタリア語として検出された場合異なるページへのリダイレクトとそれを組み合わせる必要があるので、AN($ langは「語it_ITを」==場合)私の問題は私の既存のログインリダイレクトには、この言語のものを取得する方法であるので、私は、この時に非常に新しいんだ「/ダッシュボード」に

を(「/ area_personale」)HOME_URLへのリダイレクト、および他のみんな。またはこれについて行くための「簡単な」方法があるかもしれませんか?どのようなガイダンスをいただきましたか

答えて

0

これはトリックを行う必要があります。

add_action('template_redirect', 'wpdm_login_redirect'); 
function wpdm_login_redirect(){ 
$language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); 

if(is_user_logged_in() && get_the_ID() == get_option('__wpdm_login_url') && $language == "it_IT"): 
    wp_redirect(home_url('/area_personale')); 
    exit(); 

    else: 

     wp_redirect(home_url('/dashboard')); 

endif; 
} 
+0

いいえ、これは機能しません。サイトはログインせずに 'ダッシュボード'にまっすぐに行きますが、/ loginにはアクセスできません - err_too_many_redirects。ヘルプに感謝します。これをもう一度見てもらえますか? – wheeleran

+0

2番目のリダイレクト@wheeleranの後にexitを追加しようとします。 –