2017-04-26 17 views
1

WooCommerceでは、ログインしていないユーザーをマイアカウントページにリダイレクトしています。しかし、私が同じwoocommerceページにアクセスしようとすると、ユーザーアカウント(マイアカウントページ)にログインした後、マイアカウントページにリダイレクトされます。
しかし、他のWooCommerceページを訪れたときには、それは完璧に動作します。私は、この目的のためにこのコードを使用していますログインしていない場合、WooCommerceページをマイアカウントページにリダイレクトする(問題)

<?php 
    if (!is_user_logged_in()) { 
     if(is_woocommerce() || is_shop() || is_cart() || is_checkout()) { 

      wp_redirect(get_permalink(get_option('woocommerce_myaccount_page_id'))); 
      exit(); 
     } 
    } 
?> 

は、私はこの問題は、それがとてもユーザー訪問同一のURLは、それがマイアカウントにリダイレクトされますと、キャッシュまたは他のリダイレクトの問題で何かを格納していることだと思いますとき

どうすればこの問題を解決できますか?あなたはtemplate_redirectアクションフックに引っかけカスタム関数にコードを埋め込むようにしてください

おかげ

答えて

1

add_action('template_redirect', 'wc_redirect_non_logged_to_login_access'); 
function wc_redirect_non_logged_to_login_access() { 

    if (!is_user_logged_in() && (is_woocommerce() || is_shop() || is_cart() || is_checkout())) { 
     wp_redirect(get_permalink(get_option('woocommerce_myaccount_page_id'))); 
     exit(); 
    } 
} 

このコードは(あなたのアクティブな子テーマのfunction.phpファイルに行きますまたはテーマ)または任意のプラグインファイルでも使用できます。

このコードはWooCommerce上でテストv2.6.x + v3.0.xと

+0

私はすでに私の子テーマでテストしているこのコードに動作しますが、されて、私はまたサンウコマースでのログインに成功していたとき、私そのとき私のアカウントページにリダイレクトされた時点でカタログページに行きます(毎回ではなく時々発生します)。 – Ket

+0

@Ketこのコードは、複数のwoocommerceバージョンで複数回テストされていますが、この問題は発生していません。だから、あなたのテーマやプラグインには何か特別なことがあります。それはその問題をしています... – LoicTheAztec

関連する問題