Rankd Free Shipping Progress Bar
This plugin shows a free shipping progress message on your WooCommerce store. When a customer’s cart is below your threshold, they see how much more they need to spend. When they hit it, the message updates to confirm they’ve qualified. The message refreshes as items are added or removed without a page reload.
You can drop it on any page using the shortcode [rankd_free_shipping], or turn on auto-inject to have it appear automatically at the top of your cart and checkout pages. Settings are under WooCommerce → Settings → Free Shipping Progress.
What it does
- Auto-injects on the cart page, checkout page, or both — no shortcode needed
- Shortcode
[rankd_free_shipping]works on any page, widget area, or theme template - Updates the message and progress bar as the cart changes, including on block-based themes
- Full appearance control — colors, font, font size, and border radius via an in-page Appearance tab with live preview and WCAG AA contrast checking
- Progress bar is included by default and can be hidden with a single CSS rule
- Threshold amount is configurable
- Supports an optional coupon code — useful if your free shipping requires one
- Message text is customizable, with
{amount}and{coupon}merge tags - Role exclusions let you hide the message from specific user roles
- Developer filters for threshold, messages, and subtotal calculation
- CSS class reference built into the Appearance tab
Where to find the settings
After activating, go to WooCommerce → Settings → Free Shipping Progress. The page has two in-page tabs: Settings for the threshold, messages, coupon, and role exclusions, and Appearance for colors, fonts, and styling.
Developer Filters
For developers who need to customize behavior beyond the settings page, the following filters are available:
rankd_fs_threshold — filters the threshold amount before comparison. Receives the saved threshold as a float.
rankd_fs_subtotal — filters the cart subtotal used for the comparison. Receives `WC()->cart->get_cart_contents_total()` by default. Useful if your store needs a different calculation (e.g. including tax, or excluding certain product categories).
rankd_fs_msg_notice / `rankd_fs_msg_success` / `rankd_fs_msg_coupon_line` — filter the raw message strings before merge tags are processed. Each receives the saved message text.
Example:
add_filter( 'rankd_fs_threshold', function( $threshold ) {
return is_user_logged_in() ? 75 : 50;
});
Styling
Class Element
.rankd-fs-wrapper
Outer div (both states)
.rankd-fs-notice
Outer div — threshold not met
.rankd-fs-success
Outer div — threshold met
.rankd-fs-message
Message text span
.rankd-fs-amount
Currency amount span
.rankd-fs-coupon-code
Coupon code span
.rankd-fs-coupon-line
Coupon line beneath success message
.rankd-fs-bar-track
Progress bar background track
.rankd-fs-bar-fill
Progress bar filled portion
