2017-12-22 25 views
3

세금없이 제품을 설정할 때 세금 제외 가격 표시를 사용 중지해야합니다. price.php 파일을 수정하여 VAT없이 가격을 추가했습니다.Woocommerce에서 제품이 과세되지 않는 경우 세금 제외 가격을 추가로 표시하지 않습니다.

<p class="netto"> 
    <?php echo woocommerce_price($product->get_price_excluding_tax()); ?> netto 
</p> 

가격이 설정되지 않은 경우이 "netto 가격"은 제품 페이지에 계속 표시됩니다.

어떻게 비활성화 할 수 있습니까? 일부 후크?

답변

0
<p class="netto"></p><?php ($product->get_price_excluding_tax() != null) ? echo woocommerce_price($product->get_price_excluding_tax()) : echo 0; ?> netto</p> 
+0

나는 구문 분석 오류가있어 : 구문 오류, 예기치 않은 '에코'(T_ECHO) 라인 28 – Pat

+0

에 /price.php에서이 코드는 [설명 포함] 솔루션 (수 있지만 // 메타 .stackexchange.com/questions/114762/explain-entire-code-based-answers)은 게시물의 품질을 향상시키는 데 정말로 도움이됩니다. 앞으로 독자의 질문에 답하고 있으며 코드 제안의 이유를 알지 못할 수도 있습니다. – yivi

1

나는 아직 시험하지 않았다 그러나 나는 이런 식으로 뭔가가 작동되어야 기대 :

add_action('woocommerce_before_shop_loop_item','custom_remove_loop_price'); 
function custom_remove_loop_price(){ 
    global $product; 
    if(!$product->price){ 
     remove_action('woocommerce_after_shop_loop_item_title','woocommerce_template_loop_price',10); 
    } 
} 
+0

불행히도 가격은 여전히 ​​볼 수 있습니다. 귀하의 기능에는 price_excluding_tax가 포함되어 있지 않습니다. – Pat

1

먼저 woocommerce_price() 기능과 get_price_excluding_tax() 방법은 사용되지 않으며 오래된는 ... 그들은 wc_price()wc_get_price_excluding_tax() 기능으로 대체됩니다 .

대신이 휘는 사용자 정의 기능을 당신이 원하는 것을 달성하기 위해 다음과 같은 코드를 사용할 수 loop/pride.php 최우선 woocommerce 템플릿의

:

add_action('woocommerce_after_shop_loop_item_title', 'conditionally_add_price_excluding_vat '); 
function conditionally_add_price_excluding_vat(){ 
    global $product; 

    if($product->get_tax_status() != 'taxable'){ 
     $price_excl_vat = wc_get_price_excluding_tax($product); 
     echo'<p class="netto">'.wc_price($price_excl_vat).' '. __('netto').'</p>'; 
    } 
} 

코드 활성 자식 테마의 function.php 파일에 간다 (또는 테마) 또는 모든 플러그인 파일에서.

테스트를 거쳐 작동합니다.

The additional "netto" price will be hidden when the product "Tax status" is set to "None" on product archive pages.