【问题标题】:How to make thousand separator for a price in Woocommerce如何在 Woocommerce 中以价格制作千位分隔符
【发布时间】:2019-03-03 10:47:34
【问题描述】:

几个月前我写了这段代码(在 woocommerce/single-product/price.php 上),但我把它弄丢了,我很幸运能恢复代码,但还处于第一阶段。在结果给我一千次分离之前,我认为是因为“preg_replace”函数。

<?php echo '$' . round((preg_replace('/^[\.]/', '', $product->get_price()) *1.04)); ?>

显示的结果类似于:$311896。我正在寻找的格式:311.896 美元

我会告诉你它是如何工作的。我向支付网关添加了税款(这就是我使用公式 x1.04 的原因)。它是这样显示的: 如果格式正确,则为原始价格,但我的代码不是。真是头疼。

【问题讨论】:

标签: php wordpress woocommerce preg-replace price


【解决方案1】:
$a='299900';
echo '$' . number_format($a*1.04); 

输出为:$311,896

如果你想显示“.”而不是“,”,您可以通过函数额外参数来执行此操作,请参阅http://php.net/manual/en/function.number-format.php

【讨论】:

    【解决方案2】:

    如果您在 Woocommerce 常规设置中设置了千位分隔符,则在 woocommerce 中不需要此设置:

    您只需要使用专用的价格格式化功能wc_price() 即可为您完成所有工作,甚至是货币符号:

    <?php echo wc_price( $product->get_price() * 1.04 ); ?>
    

    建议这样搭配wc_get_price_to_display()函数使用:

    <?php echo wc_price( wc_get_price_to_display( $product, array( 'price' => $product->get_price() * 1.04 ) ) ); ?>
    

    【讨论】:

      猜你喜欢
      • 2014-03-10
      • 2011-07-26
      • 1970-01-01
      • 2019-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      相关资源
      最近更新 更多