如何用ID和正确的逗号显示Woocommerce产品价格?

时间:2016-08-07 18:23:51

标签: php wordpress woocommerce price

我试图通过短代码在自定义页面上显示产品的价格。

我找到了这个帖子:How to display Woocommerce product price by ID number on a custom page?

使用此代码:

function so_30165014_price_shortcode_callback( $atts ) {
$atts = shortcode_atts( array(
    'id' => null,
), $atts, 'bartag' );

$html = '';

if( intval( $atts['id'] ) > 0 && function_exists( 'wc_get_product' ) ){
     $_product = wc_get_product( $atts['id'] );
     $html = "price = " . $_product->get_price();
}
return $html;
}
add_shortcode( 'woocommerce_price', 'so_30165014_price_shortcode_callback' );

短代码: [woocommerce_price id="99"]

我已经实现了代码并让它正常工作现在唯一的事情是价格没有正确显示它没有注册逗号。

例如,我的价格显示为$13564.34

何时应显示为$13,564.34

它也为$1371.43

做同样的事情

何时应显示为$1,371.43

2 个答案:

答案 0 :(得分:0)

函数number_format()可能会有所帮助。例如:

1578.47将改为:

之后的1,578.47
number_format(1578.47, 2, '.', ',');

http://php.net/manual/en/function.number-format.php

答案 1 :(得分:0)

现在正在努力工作。

<强> CODE:

function so_30165014_price_shortcode_callback( $atts ) {
$atts = shortcode_atts( array(
'id' => null,
), $atts, 'bartag' );

$html = '';

if( intval( $atts['id'] ) > 0 && function_exists( 'wc_get_product' ) ){
 $_product = wc_get_product( $atts['id'] );
 $number = number_format($_product->get_price(), 2, '.', ',');
 $html = "$" . $number;

 }
 return $html;
 }
 add_shortcode( 'woocommerce_price', 'so_30165014_price_shortcode_callback' );

<强> SHORTCODE:

[woocommerce_price id="99"]