2017-12-22 18 views
3

私は税抜きの商品を設定する際、税抜きの表示を無効にする必要があります。 price.phpファイルに変更を加えてVATなしで価格を追加しました。商品がWoocommerceで課税対象外である場合、税金を除く追加の非表示

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

価格が設定されていない場合、この「ネット価格」はまだ商品ページに表示されています。

どうすれば無効にできますか?いくつかのフック?

答えて

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

私はパースエラー持っている:このコードスニペットは、[説明を含む]ソリューション、かもしれないがライン28 – Pat

+0

上/price.phpに構文エラー、予期しない「エコー」(T_ECHOを)(//メタ.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()関数で置き換えられています。

代わりのwoocommerceテンプレートloop/pride.phpをオーバーライドあなたはこのフックカスタム関数で欲しいものを達成するために、次のコードを使用することができます。

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.

関連する問題