2017-03-24 6 views
1

私は、訪問先/注文/ページを特定の参照元からページ/注文2 /にリダイレクトする簡単なソリューションを探しています。Wordpressのリファラーに基づいてページをリダイレクトする

訪問者はFacebookから私のホームページに来ていますが、facebookの訪問者にはpage/order /を見せたくありません。代わりに/ order-2 /にリダイレクトしたいと思っています。

..あなたの助けを

おかげで、あなたのそれは、ワードプレスのウェブサイトであるので、私はしかし、私は仕事と何かを見つけることができませんでした、プラグインで解決策を見つけるのは簡単でなければなりませんね!

+0

したがって、あなたは自分のホームページに提供しているリンクを、そのユーザーがどのページから来たのかに基づいて変更したいのですか? – vlasits

+0

それが簡単なら、はい!私はまだ、別のページにアクセスしようとすると別のURLにリダイレクトすると、ホームページ上のURLを変更することなく、より良い解決策になると思います。 –

+0

Ok ...あなたが尋ねたやり方で答えます。 :) – vlasits

答えて

1

これはうまくいくはずです。これは、FacebookのリファラーURLをチェックし、それに応じてリダイレクトします。私は、wp_safe_redirectが相対URLで動作することを100%保証しているわけではありません。このコードはあなたのfunctions.phpに入ります:

add_action('template_redirect', 'redirect_if_facebook'); 
function redirect_if_facebook(){ 
    if (is_page('order') && coming_from_facebook(wp_get_referer())){ 
     wp_safe_redirect("/order-2/"); 
     exit; 
    } else{ 
      wp_safe_redirect(get_home_url()); 
      exit; 
    } 
} 

function coming_from_facebook($url_string){ 
    if ($url_string){ 
     $url = parse_url($url_string); 
     return strpos($url['host'], 'facebook.com'); 
    } else { 
    return false; 
    } 
} 
?> 
+0

ありがとう!しかし、それはfacebookからの訪問者が/ order/pageだけに達することを試みるか、またはそれが単一のページへのグローバルなリダイレクトのときに働くでしょうか? –

+0

ああ...良い点。 – vlasits

+0

私はページのチェックを追加しました。 – vlasits

関連する問題