The free shipping bar that reads your real WooCommerce shipping zone
The bar that quietly lies
A free-shipping progress bar is a simple, effective nudge: “You’re $20 away from free shipping.” The problem is where most bars get the number. They store their own threshold in their own settings, with no link to the WooCommerce shipping zone that actually decides whether shipping is free.
So the two drift. You raise your free-shipping minimum from $75 to $100 in the shipping settings, the bar still says $75, and now it promises free shipping at a number that does not trigger it. The customer hits “$0 away”, reaches checkout, and shipping is still charged. The nudge becomes a small broken promise at the worst possible moment.
What Asteris Cart does differently
Asteris Cart’s free-shipping bar does not keep a private number. It reads the live shipping configuration:
- It queries
WC_Shipping_Zonesand uses the actualmin_amountfor the customer’s zone, so the figure on the bar is the figure that grants free shipping. - It follows the zone. A customer in a zone with a different threshold sees the threshold for their zone, not a single global number.
- It warns you when something is wrong. If the bar’s configured threshold matches no shipping zone, Asteris Cart raises a WooCommerce Site Health warning, so a misconfiguration surfaces in the admin instead of silently on the storefront.
Code receipt: src/Cart/Free_Shipping_Bar.php::effective_threshold()
[CODE SNIPPET — CC to insert the current effective_threshold() body from src/ at build; must match shipping v1.0.]
Why this is the honest design
The whole positioning of Asteris Cart is that the cart should not lie to the customer. A free-shipping bar that reads a number you typed once, somewhere else, is structurally prone to lying — not through bad intent, but through drift. Reading the real zone removes the drift at the source. The Site Health warning closes the remaining gap, where a threshold was set that no zone supports.
How this fits
The free-shipping bar is one of 22 Asteris Cart modules, and one of the six wedges where the plugin does something the ecosystem does not package cleanly. See the Free Shipping Bar module → · Compare Asteris Cart with the alternatives → · See pricing →
FAQ
Why does my WooCommerce free shipping bar show the wrong amount? Most bars store their own threshold, separate from your shipping zone. Change the zone and forget the bar, and they disagree.
How does Asteris Cart keep the bar accurate? It reads the real WC_Shipping_Zones min_amount and follows the customer’s zone, and warns you in Site Health when the bar matches no zone.
Does it handle different shipping zones? Yes — the threshold shown follows the customer’s zone rather than one number typed once.
Sources
- Asteris Cart code receipt: src/Cart/Free_Shipping_Bar.php::effective_threshold()
- WooCommerce shipping-zone behaviour: WC core docs [attach cite at publish]