如何通过ID与正确的逗号显示Woocommerce产品的价格?(How to display Woo

2019-09-26 13:49发布

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

我发现这个线程: 如何通过ID号的自定义页面上显示Woocommerce产品的价格?

与此代码:

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

Answer 1:

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

之后1,578.47:1578.47将更改为

number_format(1578.47, 2, '.', ',');

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



Answer 2:

得到它现在的工作。

码:

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

短代码:

[woocommerce_price id="99"]


文章来源: How to display Woocommerce product price by ID with correct Commas?