반응형
woo commerce에서 쿠폰 적용여부 확인
Woocommerce 체크아웃에 쿠폰이 적용되는지 확인할 수 있는 방법을 찾아야 합니다.저는 이것을 찾아 헤매고 있지만 해결책을 찾을 수 없습니다.
다음은 제가 시도하고 있는 것의 슬림화된 버전입니다.
add_action('woocommerce_before_cart_table', 'apply_product_on_coupon');
function apply_product_on_coupon( ) {
global $woocommerce;
$coupon_id = '12345';
if( $woocommerce->cart->applied_coupons === $coupon_id ) {
echo 'YAY it works';
}
}
그럼 쿠폰이 카트에 있는지 확인하는 방법이 맞지 않나요? if( $woocommerce->cart->applied_coupons === $coupon_id )
당신의 예시로 볼 때, 이와 같은 것이 효과가 있을 수 있습니다.이는 테스트되지 않았지만 올바른 방향으로 나아갈 수 있습니다.
add_action('woocommerce_applied_coupon', 'apply_product_on_coupon');
function apply_product_on_coupon( ) {
global $woocommerce;
$coupon_id = '12345';
$free_product_id = 54321;
if(in_array($coupon_id, $woocommerce->cart->get_applied_coupons())){
$woocommerce->cart->add_to_cart($free_product_id, 1);
}
}
global $woocommerce;
if (!empty($woocommerce->cart->applied_coupons))
{
//print_r($woocommerce->cart->applied_coupons); - keys of coupons here
}
이것은 오래된 문제일 수 있지만 간단한 해결책은
WC()->cart->applied_coupons
이 반환 배열은 적용된 쿠폰 목록을 보여줍니다. 그런 다음 for 또는 in_array를 사용하여 적용된 쿠폰을 확인할 수 있습니다.
도움이 되었으면 좋겠다
쿠폰 코드를 알고 있지만 쿠폰 투고 ID를 모르는 경우에는 realmag777의 답변과 maiorano84의 답변의 매쉬업을 이용하실 수 있습니다.
function CheckCouponIsApplied($cpn_code)
{
global $woocommerce;
$lowercasecouponcode = strtolower($cpn_code); //ENSURE LOWERCASE TO MATCH WOOCOMMERCE NORMALIZATION
return in_array($lowercasecouponcode, $woocommerce->cart->applied_coupons);
}
언급URL : https://stackoverflow.com/questions/20100557/check-if-coupon-is-applied-in-woo-commerce
반응형
'source' 카테고리의 다른 글
Word Press가 wp_register_script()를 사용할 때 "text/javascript" 대신 "text/roketscript"를 배치하는 이유는 무엇입니까? (0) | 2023.03.13 |
---|---|
각도 - "내보낸 멤버 '관측 가능' 없음" (0) | 2023.03.13 |
WordPress에서 현재 페이지 이름을 얻으려면 어떻게 해야 합니까? (0) | 2023.03.13 |
바인딩이 있는 ng-style 또는 style 속성어떤 게 더 나아요?어느 쪽이 빠릅니까?뭐가 다른데? (0) | 2023.03.13 |
반응 JS의 입력 요소 자동 포커스 (0) | 2023.03.13 |