Отображение двух десятичных цен, округленных до одного десятичного знака в Woocommerce - PullRequest
0 голосов
/ 19 октября 2018

Работал над сообщением, информирующим клиента о доставке, и если он / она потратит еще XX долларов, будет доступна бесплатная доставка.

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

Он предлагает бесплатную доставку, если клиент тратит не менее 59 долларов.Но если клиент добавит продукты для 58.xx, сообщение будет отображаться как "Spend 0.1223242 dollars more and get free shipping".

Как мне изменить это на ДВА десятичных дроби и как мне понять, что 0.1223 равно 0.10 ичто 0.15544 равно 0.2 и так далее?(Надеюсь, это понятно и достаточно просто для понимания).

Вот код, который я использую:

function show_shipping_message() {
    global $woocommerce;  
    $total_cart = $woocommerce->cart->total;
    $limit_free_shipping = 59;

    if ($total_cart != 0 && $total_cart < $limit_free_shipping) { 
    $dif = $limit_free_shipping - $total_cart;

    ?>
    <p class="free-shipping-notice" >
    <img src="<?php echo get_stylesheet_directory_uri(); ?>/images/shipping-icon.png"> <?php _e('TEXT', THEME_TEXT_DOMAIN); ?> <?php echo $dif; ?> <?php _e('dollar, TEXT', THEME_TEXT_DOMAIN); ?> <strong><?php _e('TEXT', THEME_TEXT_DOMAIN); ?></strong>
    </p>

    <?php
    } 
    }

Если кто-то может помочь, я был бы очень благодарен.Заранее спасибо.Если кто-нибудь знает, как сделать автоматическое обновление после удаления предмета из мини-корзины, это было бы очень хорошо.Еще раз спасибо заранее.

1 Ответ

0 голосов
/ 19 октября 2018

Вы можете использовать функции round() с number_format() следующим образом:

echo number_format( round(0.1223242, 1), 2 ); // will display: 0.10

Вы получите цену, которая сначала будет округлена до одного десятичного знака, но будет отображаться в 2 десятичных знака, как вы хотели.


Вы также можете использовать round() с функцией форматирования цен Woocommerce wc_price():

echo wc_price( round(0.1223242, 1) ); // will display: $0.10

Вы получите отформатированную цену (с округлением до одного десятичного знака) но отображается как другие цены Woocommerce (2 знака после запятой с символом валюты) ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...