Я уже применил следующие фильтры в PHP:
add_filter('wc_price_args', function($args) {
$args['decimals'] = 0;
$args['decimal_separator'] = '';
$args['thousand_separator'] = '';
return $args;
});
add_filter('woocommerce_price_trim_zeros', '__return_true');
Они хорошо работают на страницах продуктов и магазинов.
Однако цены, показанные на страницах , checkout и спасибо все еще отображаются с децималами и разделениями, потому что они используют woocommerce blocks (Press> (Press> (Prese>. Что я понимаю, блоки woocommerce используют wcblocksutils.getSetting ('валюта') и js рендеринг через React. Я видел упоминания о регистрациях checkeckoutfilters , а также изучал переоценку Formatamount () или cartitemprice , но в документации нет четкого или официального руководства. /> [*] Удалить тысячи разделителей < /li>
Применить это последовательно через cart < /strong>, проверка < /strong> и спасибо < /strong> (на основе блоков) < /li>
< /ul>
< /h3>
. частично): [/b]
add_filter('wc_price_args', function($args) {
$args['decimals'] = 0;
$args['decimal_separator'] = '';
$args['thousand_separator'] = '';
return $args;
});
add_filter('woocommerce_price_trim_zeros', '__return_true');
< /code>
Ожидаемый вывод: < /strong>
Показать ₹ 2300 < /code> вместо 2300,00 < /code>. < /p>
Проблема: < /strong>
Блоки (корзина, проверка, спасибо) по -прежнему показывают форматированные номера с декализациями. />
Как я: < /p>
- Цены на форматы в Blocks на основе реагирования < /strong> < /li>
Удалить декоративные и сепараторы через JS (например, registercheckoutfilters < /code>, getSetting < /code>, etc.) Чистый, обновленный способ?
Подробнее здесь: https://stackoverflow.com/questions/796 ... commerce-9
Мобильная версия