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

関数 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 に答える
0

GOT IT WORKING NOW.

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"]
于 2016-08-07T19:38:01.353 に答える