У меня есть этот код на моем сайте:
$order_items = $order->get_items();
foreach ( $order_items as $item_id => $item ) {
$item_total = wc_get_order_item_meta( $item_id, '_line_total', true );
}
Это возвращает итоговую сумму в виде значения с плавающей запятой. Но как я могу получить это сейчас как отформатированное значение?
В настоящее время: 1500
Цель: 1.500,00 €
Есть ли функция для этого или мне нужно написать свой собственный код, чтобы получить этот результат?
Просто используйте WC_Abstract_Order
get_formatted_line_subtotal()
Выделенный метод таким образом:
foreach ( $order->get_items() as $item_id => $item ) {
echo $order->get_formatted_line_subtotal( $item );
}
Проверено и работает.
Он уже используется Woocommerce в связанных шаблонах и обрабатывает все необходимое.
Вы также можете использовать WC_Order_Item_Product
get_subtotal()
или же get_total()
методы с wc_price()
функция форматирования цены как:
foreach ( $order->get_items() as $item_id => $item ) {
echo wc_price( $item->get_subtotal() ); // Non discounted
echo wc_price( $item->get_total() ); // Discounted
}
Вы ищете wc_price()
функция:
Отформатируйте цену с помощью символа валюты.
Например:
<?php wc_price($price) ?>