我試圖修改WooCommerce Is_Purchasable選項,以便如果商品A被添加到購物車中,則商品B是可購買的。Woocommerce:如果商品A添加到購物車中,商品B是可購買的
我設法使用下面的代碼禁用項目B的加載到購物車按鈕。但是當物品A被添加到購物車時,該頁面將不會加載。
下面的代碼:
function wc_product_is_in_the_cart($ids) {
$cart_ids = array();
foreach(WC()->cart->get_cart() as $cart_item_key => $values) {
$cart_product = $values['data'];
$cart_ids[] = $cart_product->id;
}
if (! empty(array_intersect($ids, $cart_ids))) {
return true;
} else {
return false;
}
}
function wc_product_is_purchasable ($is_purchasable, $product) {
$product_ids = array('249');
if (! wc_product_is_in_the_cart($product_ids)) {
return ($product->id == 2983 ? false : $is_purchasable);
}
return $is_purchasable;
}
add_filter('woocommerce_is_purchasable', 'wc_product_is_purchasable', 10, 2);
我已經嘗試了一堆的方法,但似乎沒有任何工作。我應該如何繼續?
Ahyat相反WC()的' - > cart-> get_cart()'薩克的代碼,試圖通過'WC()來代替它 - > cart-> cart_contents' ......請告訴我,如果它的工作......謝謝。 – LoicTheAztec