在添加到购物车中的特定产品之前,先清空购物车

时间:2020-01-11 03:14:08

标签: php wordpress woocommerce cart hook-woocommerce

我有此代码可以在将新商品添加到购物车之前清空购物车。

add_action( 'woocommerce_add_cart_item_data', 'woocommerce_clear_cart_url' );

function woocommerce_clear_cart_url() {
    global $woocommerce;
    $woocommerce->cart->empty_cart();
}

但是我想将此功能限制为产品ID 986和1146。我的意思是,当客户添加产品ID 986或1146时,请先清空购物车!

请帮助我,我完全是菜鸟

1 个答案:

答案 0 :(得分:3)

在添加到购物车产品ID 986 或** 1146**之前,请尝试以下操作将购物车清空:

add_filter( 'woocommerce_add_to_cart_validation', 'custom_empty_cart', 10, 3 );
function custom_empty_cart( $passed, $product_id, $quantity ) {
    if( ( ! WC()->cart->is_empty() ) && in_array( $product_id, [986, 1146] ) )
        WC()->cart->empty_cart();

    return $passed;
}

代码进入活动子主题(或活动主题)的functions.php文件中。经过测试,可以正常工作。