반응형
Woocommerce에서 적용된 할인 쿠폰을 프로그래밍 방식으로 제거하는 방법은 무엇입니까?
한참을 검색했는데 프로그램적으로 우커머스 쿠폰을 제거하는 방법을 찾을 수가 없어요.
카트 합계를 기준으로 할인을 하려고 합니다.1000유로(15% 할인쿠폰 적용) 상당의 상품을 가지고 있고, 상품을 제거하고 50유로 상당의 상품만 남겨두어도 이미 적용된 쿠폰이 삭제되지 않기 때문에 15% 할인됩니다.
여기 제 코드가 있습니다.
add_action( 'woocommerce_before_cart', 'apply_matched_coupons' );
function apply_matched_coupons() {
global $woocommerce;
$coupon_code5 = '5p'; // your coupon code here
$coupon_code10 = '10p'; // your coupon code here
$coupon_code15 = '15p'; // your coupon code here
$coupon_code20 = '20p'; // your coupon code here
$coupon_code25 = '25p'; // your coupon code here
if ( $woocommerce->cart->has_discount( $coupon_code ) ){
return;
}
if ( $woocommerce->cart->cart_contents_total >= 4000 ) {
$woocommerce->cart->add_discount( $coupon_code25 );
$woocommerce->show_messages();
}
else if ( $woocommerce->cart->cart_contents_total >= 2000 ) {
$woocommerce->cart->add_discount( $coupon_code20 );
$woocommerce->show_messages();
}
else if ( $woocommerce->cart->cart_contents_total >= 1000 ) {
$woocommerce->cart->add_discount( $coupon_code15 );
$woocommerce->show_messages();
}
else if ( $woocommerce->cart->cart_contents_total >= 500 ) {
$woocommerce->cart->add_discount( $coupon_code10 );
$woocommerce->show_messages();
}
else if ( $woocommerce->cart->cart_contents_total >= 200 ) {
$woocommerce->cart->add_discount( $coupon_code5 );
$woocommerce->show_messages();
}
}
쿠폰 코드를 사용하여 카트에서 쿠폰 하나를 제거하려면 를 사용하십시오.
사용하는 모든 쿠폰을 카트에서 제거하려면:$type
디폴트로 하다null
모두 세금 쿠폰 전에 제거할 "주문"을 전달하고 세금 쿠폰 후에는 "주문"을 전달하십시오.
장바구니에 있는 모든 쿠폰을 구매하려면array
루프오버 및 삭제(선택사항)를 사용할 수 있습니다.
foreach ( WC()->cart->get_coupons() as $code => $coupon ){
$valid = ? // decide to remove or not
if ( ! $valid ){
WC()->cart->remove_coupon( $code );
}
}
카트 메서드 remove_coupons()는 이후 갱신되어 유형이 필요 없게 되었습니다.이제 모든 쿠폰을 제거하려면 다음과 같이 하십시오.
WC()->cart->remove_coupons();
자세한 것은, WC_Cart 클래스의 메뉴얼을 참조해 주세요.
언급URL : https://stackoverflow.com/questions/26577330/how-to-programmatically-remove-applied-discount-coupons-in-woocommerce
반응형
'programing' 카테고리의 다른 글
리피터 필드 값의 wp_meta_meta (0) | 2023.03.11 |
---|---|
왜 XMLHttpRequest라고 부릅니까? (0) | 2023.03.11 |
템플릿 없이 Django에서 빈 응답을 보내려면 어떻게 해야 합니까? (0) | 2023.03.11 |
jQuery를 사용하여 입력할 때 목록 필터링 (0) | 2023.03.11 |
WordPress TinyMCE wp_editor()를 사용할 때 자리 표시자 텍스트를 설정하는 방법 (0) | 2023.03.11 |