2013-08-30 3 views
0

나는 현재 woocommerce위한 플러그인을 개발하고, 카트의 총이 두 값 사이에있는 경우 할인 코드를 추가하는 다음 코드가 있어요 : 위의woocommerce 적용 카트 쿠폰

add_action('woocommerce_before_cart', 'woobd_add_discount_if_enabled'); 

function woobd_add_discount_if_enabled() 
{ 
    global $woocommerce; 
    if ($woocommerce->cart->cart_contents_total >= 10 
     && $woocommerce->cart->cart_contents_total <= 100 
    ) { 
     $woocommerce->cart->add_discount('layer1_discount'); 
    } else {   
     $woocommerce->cart->remove_coupons('layer1_discount'); 
     $woocommerce->cart->calculate_totals(); 
    } 
} 

잘 작동 그러나 나는 다른 두 값을 추가하는 다음과 같은 또 다른 if 문을 추가하고 싶습니다 : 명령문은 감지 얻을 경우 두 번째, 완전히 처음 무시하고 어떤 이유

add_action('woocommerce_before_cart', 'woobd_add_discount_if_enabled'); 

function woobd_add_discount_if_enabled() 
{ 
    global $woocommerce; 
    if ($woocommerce->cart->cart_contents_total >= 10 
     && $woocommerce->cart->cart_contents_total <= 100 
    ) { 
     $woocommerce->cart->add_discount('layer1_discount'); 
    } else {   
     $woocommerce->cart->remove_coupons('layer1_discount'); 
     $woocommerce->cart->calculate_totals(); 
    } 

    if ($woocommerce->cart->cart_contents_total >= 100 
     && $woocommerce->cart->cart_contents_total <= 200 
    ) { 
     $woocommerce->cart->add_discount('layer2_discount'); 
    } else {   
     $woocommerce->cart->remove_coupons('layer2_discount'); 
     $woocommerce->cart->calculate_totals(); 
    } 
} 

합니다. 위와 관련하여 눈에 띄게 잘못된 점이 있습니까?

답변

1

아마도 두 개의 별도 명령문을 if, elseif, else로 변경하면 작동합니다.

add_action('woocommerce_before_cart', 'woobd_add_discount_if_enabled'); 

function woobd_add_discount_if_enabled() 
{ 
    global $woocommerce; 
    if ($woocommerce->cart->cart_contents_total >= 10 
     && $woocommerce->cart->cart_contents_total <= 100 
    ) { 
     $woocommerce->cart->add_discount('layer1_discount'); 
    } elseif ($woocommerce->cart->cart_contents_total >= 100 
     && $woocommerce->cart->cart_contents_total <= 200 
    ) {   
     $woocommerce->cart->add_discount('layer2_discount'); 
    } else {   
     $woocommerce->cart->remove_coupons('layer1_discount'); 
     $woocommerce->cart->remove_coupons('layer2_discount'); 
     $woocommerce->cart->calculate_totals(); 
    } 


} 
관련 문제