2016-10-26 5 views
0

구독 기간이 12 개월인데 카트가 잘못 표시되지만 1 개월이면 올바로 표시됩니다.Woocommerce - 장바구니 제품 잘못 계산

Woocommerce 설정 :

  • 가격은 VAT
  • 을 제외하고 입력
  • 계산 세금 기반에 : 고객의 청구 주소
  • 카트/체크 아웃시
  • 디스플레이 가격 : VAT 별도

내가 뭔가를 그리워 ?

스크린 샷

1 month is ok

스크린 샷 12 months have wrong total

+0

죄송하지만 약간 혼란 스럽습니다 ... 하나는 29.00의 가격을 적용하고 다른 하나는 24.17의 가격을 적용하고 있습니다 ... 다른 하나는 일치시킬 수있는 방법이 없습니다. 신청하는 TAX %는 무엇입니까? 나는 당신이 20 %의 부가가치세를 부과하고 있다고 가정한다. (나는 프랑스가 19.6 % 였다는 것을 알았다.) 그렇다면 제대로 계산하고있다. pricxe 또는 총 가격은 그것을 어지럽히 는가? 따라서 12 개월 동안 제시된 가격이 if의 상단에 TAX를 추가하는 것으로 나타나고 세금을 다시 추가하는 것입니다. 12 개월 남자에 대한 설정을 확인, 뭔가 잘못 구성했습니다 –

+0

기본 가격은 29 개월 12 개월 동안 나는 2 개월 무료입니다 (29 * 10/12 = 24.17). 현재 프랑스는 부가가치세가 20 % (19.6 %)를 넘지 않습니다. – Core972

+0

위의 계산을 이해할 수 없지만, 어떤 경우 든 직면 한 문제는 12 개월 제품에 대해 두 번 세금을 적용한다는 것입니다. (24,17 * 12) * 1,2 = 348,04 그리고 지금 다시 한 번 1,2를 곱하면 (다시 세금을 적용하기 위해 다음과 같은 348,04 * 1,2 = 417,60을 얻게됩니다.)이 말은 12 개월 가입 구성을 확인해야합니다. 두 번 –

답변

0

(12)에 대한 가입 1 개월에 대한 오류는 세금 계산하지만 가격 자체가 아니었다. 12 개월을 추가 할 때 계산되지 않은 값만 변경되었으므로이를 수정하기 위해이 함수를 추가했습니다.

add_action('woocommerce_before_calculate_totals', 'add_custom_price'); 

function add_custom_price($cart_object) { 

    foreach ($cart_object->cart_contents as $value) { 
     if ($value['quantity'] == 12) { 
      if ($value['product_id'] == 2244) { // Small 
       $value['data']->price = 24.16666; 
      } 
      // Add others products here. Hope there are not many products 
     } 
    } 
} 
+0

기꺼이 해결했습니다. –

관련 문제