2014-06-11 129 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

相关问题