加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 用$product_id – Woocommerce删除项目

发布时间:2020-12-13 16:37:17 所属栏目:PHP教程 来源:网络整理
导读:做一个功能,客户在达到特定数量时将产品添加到购物车. 客户达到3级并获得产品的示例. // Bonus products$product_1 = '4751'; $product_2 = '4752'; $product_3 = '4753'; // Get cart value in a clean format$cart_total = WC()-cart-get_cart_subtotal();
做一个功能,客户在达到特定数量时将产品添加到购物车.

客户达到3级并获得产品的示例.

// Bonus products
$product_1 = '4751'; 
$product_2 = '4752'; 
$product_3 = '4753'; 

// Get cart value in a clean format
$cart_total = WC()->cart->get_cart_subtotal();
$cart_total = html_entity_decode($cart_total,ENT_QUOTES,'UTF-8');
$cart_total_format = strip_tags($cart_total);
$cart_value = preg_filter("/[^0-9]/","",$cart_total_format);
$sum_raw = $cart_value;

// Set the sum level 
$level3 = '1500';

// Check sum and apply product
if ($sum_raw >= $level3) {

// Cycle through each product in the cart and check for match
$found = 'false';
foreach (WC()->cart->cart_contents as $item) {
    global $product;
    $product_id = $item['variation_id'];

    if ($product_id == $product_3) {
        $found = 'true';
    }
}

// If product found we do nothing 
if ($found == 'true') {}
// else we will add it
else {
    //We add the product
    WC()->cart->add_to_cart($product_3);

如果客户决定删除项目,所以这个声明是真的,我想要能够再次删除它.

if ($sum_raw < $level3) {

    // Trying to remove item
    foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item) {
        if ($cart_item['variation_id'] == $product_3) {

            //remove single product
            WC()->cart->remove_cart_item($product_3);
        }
    }
}

我不设法从购物车中取出产品.任何想法在这里做错什么?一直在寻找,找不到任何适用于我的解决方案.

在@Rohil_PHPBeginner& @WisdmLabs我来到这个为我做的工作的解决方案.

global $woocommerce;
// Check if sum
if ($sum_raw < $level3) {
    foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item) {

        if ($cart_item['variation_id'] == $product_3) {
            //remove single product
            $woocommerce->cart->remove_cart_item($cart_item_key);
        }
    }
}
我想你正在使用remove_cart_item错误.如果您通过 documentation,您会发现它接受cart_item_key作为参数(如注释中提到的wisdmLabs).

而您正在使用它像WC() – > cart-> remove_cart_item($product_3);而不是wc() – > cart-> remove_cart_item($cart_item_key);

所以替换那条线,我想你可以删除产品.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读