1

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

我找到了这个帖子:如何在自定义页面上按 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

4

2 回答 2

0

现在开始工作了。

代码:

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"]
于 2016-08-07T19:38:01.353 回答
0

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

1578.47 将更改为:1,578.47 之后

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

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

于 2016-08-07T18:27:47.007 回答