2017-09-17 3 views
2

WooCommerceウェブサイトでは、商品がカートに追加された直後に顧客をリダイレクトしたいと考えています。しかし、すべてのカートに追加ボタンの代わりに、特定の商品カテゴリにしたいと考えています。カスタムWooCommerce 3で定義された商品カテゴリのリダイレクトを受け取ります。

私は過去の解決策を見出そうとしましたが、functions.phpを更新すると自分のサイトがクラッシュするか、古いですし、もう動作しません。

本当に助けていただきありがとうございます。

+0

を動作します。通常これには[mcve]が含まれます。あなたが試したことと、それがうまくいかなかったと思う理由について、少し詳しく説明できますか? –

+0

私は自分の答えを更新し、Last WooCommerceバージョンのすべてをテストしています。それを見て試してみてください。ありがとう – LoicTheAztec

答えて

0

更新: Ajaxでワークショップやアーカイブページにカートに追加されませんカートのリダイレクトに追加。

あなたはその2つのオプション店やアーカイブページのの間で選択するを持っています:

  1. 無効にAJAXを追加・ツー・カートショップやアーカイブページ(WC設定>製品>ディスプレイ)。
  2. 製品にリンクされているボタンで、カートに追加]ボタンを交換するには、次のコードを追加します。

この第二のオプションは最高のようだ:

// Replacing add to cart button link on shop and archives 
add_filter('woocommerce_loop_add_to_cart_link', 'replacing_add_to_cart_button', 10, 2); 
function replacing_add_to_cart_button($button, $product) { 
    if($product->is_type('variable-subscription') || $product->is_type('variable')) return $button; 

    $button_text = __('View product', 'woocommerce'); 
    $button = '<a class="button" href="' . $product->get_permalink() . '">' . $button_text . '</a>'; 
    return $button; 
} 

コードは、関数に行きますアクティブな子テーマ(またはテーマ)の.phpファイルまたは任意のプラグインファイル。


(定義された製品カテゴリの場合)CUSTOM CONDITIONAL REDIRECTION:今

、あなたは製品があるときに顧客をリダイレクトしますwoocommerce_add_to_cart_redirectフィルターフックに引っかけカスタム関数を使用することができます(定義されて製品カテゴリ用)カートに追加:

add_filter('woocommerce_add_to_cart_redirect', 'add_to_cart_checkout_redirection', 99, 1); 
function add_to_cart_checkout_redirection($url) { 

    // HERE define your category 
    $category = 'clothing'; 

    if (! isset($_REQUEST['add-to-cart'])) return $url; 

    // Get the product id when it's available (on add to cart click) 
    $product_id = absint($_REQUEST['add-to-cart']); 

    // Checkout redirection url only for your defined product category 
    if(has_term($category, 'product_cat', $product_id)){ 
     // Clear add to cart notice (with the cart link). 
     wc_clear_notices(); 
     $url = wc_get_checkout_url(); 
    } 

    return $url; 
} 

コードは、アクティブな子テーマ(またはテーマ)のfunction.phpファイル、またはすべてのプラグインファイルに入ります。

コードがWoocommerce 3+でテストし、我々はプログラミングの問題のサポートを提供SOで

関連する問題