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

时间:2018-01-18 10:31:28

标签: php wordpress woocommerce product price

我有一个设置。对于产品,我显示含增值税的价格(后缀中添加信息)。但是,我必须在此价格下包含净价(仅在单一产品视图中)。此外,我的产品没有价格,他们使用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。

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

2 个答案:

答案 0 :(得分:1)

Woocommerce版本3 以来,%timeit [p.search(x).group() for x in y] 1 loop, best of 3: 320 ms per loop 功能已过时且已弃用。它已被woocommerce_price()格式化函数替换。

wc_price()方法也是如此。它已被此函数取代(其中get_price_excluding_tax()$product对象的实例)

WC_Product

所以正确的代码应该是:

 wc_get_price_excluding_tax( $product );

经过测试和工作

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

<?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') : '';
?>

答案 1 :(得分:0)

尝试

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