2016-08-07 3 views
1

Я пытался отобразить цену продукта на пользовательской странице с помощью короткого кода.Как показать цену продукта Woocommerce по ID с правильными запятыми?

Я нашел эту тему: 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'); 

Shortcode:[woocommerce_price id="99"]

Я реализовал код и получил это работает единственное, что в настоящее время что цена не отображается правильно, она не регистрирует запятую.

Например, у меня есть цена, которая показывается, так как $13564.34

Когда он должен отображаться как $13,564.34

Это также делает то же самое для $1371.43

Когда он должен отображаться как $1,371.43

ответ

0

Функция number_format() может помочь. Например:

1578,47 сменится на: 1,578.47 после

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

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

+0

Я попытался имплантацию 'number_format' Но не получил никакой удачи. Я передавал '$ html 'в' $ english_format_number = number_format ($ html);' Число все еще напоминает то же самое. – Angel

+0

выполните следующее: '$ html =" price = ". number_format ($ _ product-> get_price(), 2); ' – JustRayz

+0

Да, я сделал что-то похожее на это. Благодаря! – Angel

0

GOT IT работает.

КОД:

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"] 
Смежные вопросы