2017-04-19 19 views
0

私はWordpress + WooCommerceで、カートの数から特定の商品やカテゴリを削除するにはどうすればいいですか?商品やカテゴリをカート数から削除するには?

私は2番目の製品(サブスクリプションです)に関連付けられた製品を販売しています。この製品をバスケットに5個追加すると、ヘッダーのミニカートに10個の製品が表示されます。

これは、お客様にとって恐ろしいことがあります。私は同様の質問を見ましたが、ヘッダーのカートでは機能しませんでした。

答えて

0

woocommerce_cart_contents_countでカート数をフィルタリングできます。 slug_of_category_to_ignoreを変更してください。

/** 
* Filters the reported number of cart items. 
* Counts only items NOT in certain category. 
* 
* @param int $count 
* @return int 
*/ 
function so_43498002_cart_contents_count($count) { 

    $cart_items = WC()->cart->get_cart(); 
    $subtract = 0; 

    foreach ($cart_items as $key => $value) { 

     if (has_term('slug_of_category_to_ignore', 'product_cat', $value['product_id'])) { 
      $count -= $value[ 'quantity' ]; 
     } 
    } 

    return $count; 
} 
add_filter('woocommerce_cart_contents_count', 'so_43498002_cart_contents_count'); 
+0

感謝を試してみてください。私は明日これを試してみるよ。 Semms to function.php –

+0

はい、またはサイト固有のスニペットプラグインです。 – helgatheviking

0

速い答えのためにこの

add_action('woocommerce_check_cart_items', 'woocommerce_check_cart_quantities'); 
function woocommerce_check_cart_quantities() { 
    $total_products = WC()->cart->cart_contents_count; 
    $multiples = 6; 
    $totale = 0; 
    foreach (WC()->cart->get_cart() as $cart_item_key => $values) { 
     $prodotti = $values['data']; 

     if(! has_term(array(169, 152), 'product_cat', $prodotti->id)){ 
      $totale += $values['quantity']; 
     } 

    } 
    echo $totale; 
    if (($totale % $multiples) > 0){ 
     wc_add_notice(sprintf(__('You need to buy in multiples of %d products', 'your-textdomain'), $multiples), 'error'); 
    } 

} 
+0

ありがとうございます。私は別の投稿からカテゴリ番号を認識します。 :) –

関連する問題