Put this in your theme.liquid template:

{% if template.name == ‘product’ or template.name == ‘index’ %}
// Override default values of shop.strings for each template.
// Alternate product templates can change values of
// add to cart button, sold out, and unavailable states here.
theme.productStrings = {
addToCart: {{ ‘products.product.add_to_cart’ | t | json }},
soldOut: {{ ‘products.product.sold_out’ | t | json }},
unavailable: {{ ‘products.product.unavailable’ | t | json }},
moneyFormat: {% raw %}’${{amount_no_decimals}}’{% endraw %} // this is the key line: you need to wrap it in raw tags so that liquid doesn’t try to parse it
{% endif %}

WooCommerce is a great tool to get an e-commerce shop up and running quickly, but sometimes the developers don’t think their ideas all the way through.

A recent example of this when using their shipping formulas, whereby you can calculate a custom shipping rate based on variables like [qty].

If you wanted to offer free shipping on 3+ items, the shipping method would calculate the total cost as $0.00. But, when WooCommerce sees $0.00, the shipping method label returns the name only, not the amount. …


Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store