WooCommerce - 如果特定优惠券代码或产品不存在或已删除,则从购物车中删除项目
WooCommerce - Remove item from cart if specific coupon code or product is not present or removed
我添加了输入特定优惠券代码时添加免费产品的功能。
我现在需要检查原始产品是否仍在购物车中,如果没有,请从购物车中删除优惠券和免费产品。
add_action('woocommerce_applied_coupon', 'apply_product_on_coupon');
function apply_product_on_coupon( ) {
global $woocommerce;
$coupon_idcus = 'ccam0620';
$free_product_id = 11259;
if(in_array($coupon_idcus, $woocommerce->cart->get_applied_coupons())){
$woocommerce->cart->add_to_cart($free_product_id, 2);
}
}
您需要执行其他操作来检查优惠券是否已被删除。
function action_woocommerce_removed_coupon( $coupon_code ) {
if($coupon_code == 'ccam0620') {
$product_id = 11259;
$product_cart_id = WC()->cart->generate_cart_id( $product_id );
$cart_item_key = WC()->cart->find_product_in_cart( $product_cart_id );
if ( $cart_item_key ) WC()->cart->remove_cart_item( $cart_item_key );
}
};
// add the action
add_action( 'woocommerce_removed_coupon', 'action_woocommerce_removed_coupon', 10, 1 );
这应该可以 - 我还没有测试过。
来源 1:http://hookr.io/actions/woocommerce_removed_coupon/
来源 2:https://businessbloomer.com/woocommerce-remove-product-from-cart-programmatically/
我添加了输入特定优惠券代码时添加免费产品的功能。
我现在需要检查原始产品是否仍在购物车中,如果没有,请从购物车中删除优惠券和免费产品。
add_action('woocommerce_applied_coupon', 'apply_product_on_coupon');
function apply_product_on_coupon( ) {
global $woocommerce;
$coupon_idcus = 'ccam0620';
$free_product_id = 11259;
if(in_array($coupon_idcus, $woocommerce->cart->get_applied_coupons())){
$woocommerce->cart->add_to_cart($free_product_id, 2);
}
}
您需要执行其他操作来检查优惠券是否已被删除。
function action_woocommerce_removed_coupon( $coupon_code ) {
if($coupon_code == 'ccam0620') {
$product_id = 11259;
$product_cart_id = WC()->cart->generate_cart_id( $product_id );
$cart_item_key = WC()->cart->find_product_in_cart( $product_cart_id );
if ( $cart_item_key ) WC()->cart->remove_cart_item( $cart_item_key );
}
};
// add the action
add_action( 'woocommerce_removed_coupon', 'action_woocommerce_removed_coupon', 10, 1 );
这应该可以 - 我还没有测试过。
来源 1:http://hookr.io/actions/woocommerce_removed_coupon/
来源 2:https://businessbloomer.com/woocommerce-remove-product-from-cart-programmatically/