在 Woocommerce 中价格字段为空时隐藏不含税的价格

Hide price excluding tax when price field is empty in Woocommerce

我有一个设置。对于产品,我显示含增值税的价格(在后缀中添加信息)。但是,我必须在此价格下包含一个净价(仅在单一产品视图中)。此外,我有一些没有价格的产品,它们使用 Call For Price 插件显示发送价格查询的按钮。

我显示净价加:

<?php echo woocommerce_price ($ product-> get_price_excluding_tax ()); ?>

已添加到模板中 /woocommerce/single-product/price.php

问题是,对于没有价格的产品,我仍然看到这个不含税的值(净值),金额为 0.00。这个带增值税的自动删除了。

我也试试:

<?php if(woocommerce_price ($product-> get_price_excluding_tax ()) != '0.00') // If price is not equal to 0.00
{ echo woocommerce_price ($product-> get_price_excluding_tax ()); }
?>

<?php if( !empty(woocommerce_price ($product-> get_price_excluding_tax ()))) { echo woocommerce_price ($product-> get_price_excluding_tax ()); } ?>

仍然可以看到 0,00。

如何在没有标明价格的产品中删除此净价?有什么想法吗?

尝试

<?php if (!empty(floatval(woocommerce_price($product>get_price_excluding_tax()))))
 { echo woocommerce_price($product->get_price_excluding_tax(); } ?>

由于 Woocommerce 版本 3woocommerce_price() 功能已过时且已弃用。它已被 wc_price() 格式化函数取代。

get_price_excluding_tax() 方法也是如此。它已被此函数取代 (其中 $productWC_Product 对象的一个​​实例):

 wc_get_price_excluding_tax( $product );

所以正确的代码应该是:

<?php 
    $price_excl_tax = wc_get_price_excluding_tax( $product );
    echo $price_excl_tax > 0 || ! empty( $price_excl_tax ) ? wc_price( $price_excl_tax ) . __(' netto') : '';
?>

已测试并有效


Woocommerce 版本 3 之前,您将使用:

<?php 
    $price_excl_tax = $product->get_price_excluding_tax();
    echo $price_excl_tax > 0 || ! empty( $price_excl_tax ) ? woocommerce_price( $price_excl_tax ) . __(' netto') : '';
?>