2014-06-11 64 views
0

我正在用Wordpress和WooCommerce爲某個企業的目的建立一個網站,但他們有一些不能一起銷售的物品 - 基本上與強制銷售或鏈接產品相反。如果顧客將產品A放入購物車中,我不希望他們能夠將產品C放入其中,但B和D都很好。或者,當它進行結賬時,將產品分成兩個單獨的訂單也可以。有沒有辦法做到這一點?這是我第一次使用Wordpress,所以我有點茫然。如何強制從WooCommerce購物車中移除產品?

+0

您將需要編寫自己的代碼。添加到購物車時的僞代碼 如果(購物車有產品B &&當前產品是A){//調用WooCommerce購物車類中的set_quantity()方法。您可以通過全球$ woocommerce對象訪問: \t global $ woocommerce \t $ woocommerce-> cart-> set_quantity(); \t //第一個參數是cart_item_key,您可以在同一個類的cart_contents屬性中查找。第二個參數是新數量,爲了從購物車中刪除商品,您希望將其設置爲0。 \t }其他{ \t添加產品到購物車 }' –

+0

感謝您的建議!我對PHP很新 - 任何關於開始的好地方的想法?也許一個網站,將有助於更好地理解概念? – Feu2057

+0

作爲未來訪問者的後續行動,我相信[條件支付和發送](http://www.woothemes.com/products/woocommerce-conditional-shipping-and-payments/)將處理此問題。 – helgatheviking

回答

1

你可以用下面這段代碼:

add_action('woocommerce_add_to_cart_handler','mycustomfuncion',11,2); 
function mycustomfuncion($p,$q) 
{ 
    global $woocommerce; 
    $cartItem = $woocommerce->cart->cart_contents; 
    $currentProductId = $q->id; 
    foreach($cartItem as $item) 
    { 
     $productItemId = $item['product_id']; 
     ///your condition will be here 

    } 
    return $q; 
} 

您將獲得的全部產品ID這是在車用$ productItemId。您將通過$ currentProductId獲取當前產品ID(哪個用戶想要添加到購物車)。如果您希望允許將產品添加到購物車,那麼在您的條件之後,然後從該函數返回$ q,否則不返回任何值。

+0

謝謝,我會試試! – Feu2057

相關問題