Wordpress 如何从其WooCommerce产品ID/变体ID中用逗号显示四舍五入的含税价格?

Wordpress 如何从其WooCommerce产品ID/变体ID中用逗号显示四舍五入的含税价格?,wordpress,woocommerce,price,Wordpress,Woocommerce,Price,我试图在常规页面上显示某些WooCommerce产品/变体的价格。我无法手动输入的原因是,这些价格是由带有汇率的插件实时更改的 我找到了这个页面: 在我的页面生成器中,我插入了带有以下代码段的代码块: <?PHP $product_id = ###; // ### is the product ID $_product = wc_get_product( $product_id ); echo $_prod

我试图在常规页面上显示某些WooCommerce产品/变体的价格。我无法手动输入的原因是,这些价格是由带有汇率的插件实时更改的

我找到了这个页面:

在我的页面生成器中,我插入了带有以下代码段的代码块:

        <?PHP 
        $product_id = ###;
        // ### is the product ID
        $_product = wc_get_product( $product_id );
        echo $_product->get_sale_price();
        ?>

还是这个

        <?PHP
        $variation_id = ###;
        // ### is the variation ID
        $_variation = wc_get_product( $variation_id );
        echo $_variation->get_sale_price();
        ?>

它们都有效,但显示的数字有很多小数位,比如2360.8353159978。 (参见示例屏幕截图:)

我想把它们四舍五入到0,比如2360

另一个问题是,它们是免税的。我想这是因为我在产品页面的后端使用了不含税价格(Woo在前端显示了含税价格,这也是我想要实现的)

第三个问题是数字不是千的逗号

完美的结果应该是2596,因为2360+10%税=2596

我对PHP非常陌生,很长时间以来一直在寻找答案


谁能给我一些建议吗?感谢您的任何意见。

我不确定该税,但以下是减少小数的解决方案:

/** Trim zeros in price decimals **/

add_filter( 'woocommerce_price_trim_zeros', '__return_true' );

add_filter( 'woocommerce_adjust_non_base_location_prices', '__return_false' );

我已经找到了我自己问题的答案。请参见以下代码:

        <?PHP
        
        $variation_id = ###;
        $_variation = wc_get_product( $variation_id );
        echo wc_price($_variation->get_price_including_tax(), array('decimals' => 0));
        
        ?>

只要可以找到,您也可以用产品标识替换变体标识

所以我需要使用wc_价格来获得格式化的价格数字,这是您在WooCommerce的General选项卡中设置千位分隔符和小数位数等的方式。对于舍入,因为我在WooCommerce中创建了一种对数字进行舍入的方法(类似于子主题中的function.php),所以wc_price也将调用并显示舍入结果

我的WordPress页面上的格式仍然需要调整,例如,我喜欢删除所有小数,所以我使用数组('decimals'=>0)来截断它们

文本样式也需要用CSS来固定,但我不打算在这里说明,因为它与主题无关

无论如何,问题解决了。希望这段代码对其他人有用。同样,我对PHP知之甚少,这只是我在谷歌上搜索的结果。任何想改进代码的人请分享

最好的,
Acon

谢谢,但是我应该在哪里插入这些行?我在上面的代码块中添加了这两行代码,并尝试了所有位置,但都不起作用……您需要将其添加到theme functions.php文件中,我建议使用child-theme。所以你的主题不会在每次更新时都被覆盖。谢谢你让我知道。我使用Oxygen builder,这样就没有主题系统或function.php了,但我也遵循了一些教程,使用类似的代码创建了我自己的插件,在WordPress中安装和激活,并且可以正常工作。这种方法最好的地方是它在WooCommerce页面(产品/归档/签出)上是全局的。不幸的是,对于普通的WordPress页面,带有我的原始代码的代码块仍然显示大量小数的价格。别担心。我已经找到了最终的解决方案代码。请看我的答案。请核对