=== Shipping Threshold Bar for WooCommerce ===
Contributors: dhruvin
Tags: woocommerce, free shipping, shipping bar, progress bar, cart, checkout, sales booster, conversion, ecommerce
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Display a dynamic WooCommerce free shipping progress bar on cart, legacy checkout, block checkout, product pages, Elementor, blocks, and shortcodes.

== Description ==

Shipping Threshold Bar for WooCommerce helps store owners motivate shoppers to add more items to their cart by showing a clear free shipping progress bar. The bar displays how much more a customer needs to spend to unlock free shipping, updates with the cart, and can be shown in key shopping locations across your WooCommerce store.

Use it to promote your free shipping threshold, reduce cart abandonment, and encourage higher average order value with a lightweight, customizable WooCommerce shipping bar.

= Key Features =

* WooCommerce free shipping progress bar with live cart progress.
* Auto-detect the free shipping threshold from WooCommerce shipping methods.
* Manual free shipping threshold option for custom campaigns.
* Multiple display placements: top banner, mobile sticky footer, cart page, checkout page, product page notice, and floating widget.
* Shortcode support with `[shipthba_bar]`.
* Dedicated block editor block for adding the bar in Gutenberg and block-based layouts.
* Elementor widget for adding the free shipping bar in Elementor pages and templates.
* Custom progress, almost-there, and success messages.
* Message tokens for `{remaining}`, `{percent}`, `{threshold}`, and `{subtotal}`.
* Show or hide the progress percentage.
* Hide the bar when the cart is empty.
* Exclude virtual products from the progress calculation.
* Exclude downloadable products from the progress calculation.
* Exclude selected product categories from the progress calculation.
* Customize bar color, track color, text color, and background color.
* Adjust border radius, bar height, and font size.
* Solid and striped progress bar styles.
* Built-in theme presets: Minimal, Bold, Soft Rounded, Premium, and Festive.
* AJAX refresh support so the free shipping bar stays in sync with cart changes.
* Compatible with WooCommerce legacy cart and checkout pages.
* Compatible with WooCommerce cart and checkout blocks, including block checkout.
* Compatible with WooCommerce High-Performance Order Storage (HPOS).

= Compatibility =

Shipping Threshold Bar for WooCommerce works with classic WooCommerce templates and modern block-based stores:

* WooCommerce legacy cart page.
* WooCommerce legacy checkout page.
* WooCommerce cart block.
* WooCommerce checkout block.
* WordPress block editor through the Smart Shipping Bar block.
* Elementor through the Smart Shipping Bar widget.

= Flexible Display Options =

Choose exactly where the free shipping message should appear:

* Top banner - show the bar at the top of store pages.
* Sticky footer bar on mobile - keep the offer visible on mobile devices.
* Inline cart bar - display progress above cart totals.
* Checkout bar - remind customers before payment.
* Product page notice - encourage shoppers near the add-to-cart area.
* Floating widget - show a small floating progress widget on screen.

= Custom Messages =

Create customer-friendly messages for each cart state:

* Progress message for shoppers who have not reached the threshold.
* Almost-there message when the cart reaches your chosen percentage.
* Success message after free shipping is unlocked.

Available message tokens:

* `{remaining}` - amount still needed for free shipping.
* `{percent}` - current progress percentage.
* `{threshold}` - free shipping goal amount.
* `{subtotal}` - current qualifying cart subtotal.

= Shortcode =

Add the free shipping progress bar anywhere shortcodes are supported:

`[shipthba_bar]`

You can also pass a placement context:

`[shipthba_bar placement="custom"]`

= Block Editor and Elementor =

The plugin includes a Smart Shipping Bar block for the WordPress block editor. Add it to pages, posts, templates, or block-based WooCommerce layouts where you want to show the free shipping progress bar.

If Elementor is active, the plugin also provides an Elementor widget so you can place the free shipping bar inside Elementor pages and templates without using a shortcode manually.

== Installation ==

1. Upload the `shipping-threshold-bar` folder to the `/wp-content/plugins/` directory, or install the plugin through the WordPress Plugins screen.
2. Activate the plugin through the Plugins screen in WordPress.
3. Make sure WooCommerce is installed and active.
4. Go to WooCommerce > Free Shipping Bar.
5. Enable the bar, choose your threshold source, select placements, customize messages, and save changes.

== Frequently Asked Questions ==

= Does this plugin require WooCommerce? =

Yes. Shipping Threshold Bar for WooCommerce requires WooCommerce to be installed and active.

= Can the plugin detect my WooCommerce free shipping amount automatically? =

Yes. The plugin can auto-detect the minimum amount from your active WooCommerce free shipping method. You can also enter a manual threshold amount.

= Can I show the free shipping bar on cart and checkout pages? =

Yes. You can display the bar on WooCommerce cart pages, legacy checkout pages, block checkout layouts, product pages, the top banner, mobile sticky footer, floating widget, shortcode, block, or Elementor widget.

= Can I customize the free shipping message? =

Yes. You can customize the progress, almost-there, and success messages. Message tokens include `{remaining}`, `{percent}`, `{threshold}`, and `{subtotal}`.

= Can I exclude certain products from the progress calculation? =

Yes. You can exclude virtual products, downloadable products, and selected product categories from the free shipping progress calculation.

= Does the bar update when the cart changes? =

Yes. The bar supports AJAX refresh and WooCommerce cart fragments so progress can update as customers add or remove items.

= Is there a shortcode? =

Yes. Use `[shipthba_bar]` to display the WooCommerce free shipping bar anywhere shortcodes are supported.

= Does it work with WooCommerce legacy checkout and block checkout? =

Yes. The plugin is compatible with WooCommerce legacy checkout and WooCommerce block checkout. It also supports the WooCommerce cart block.

= Does it include a block editor block? =

Yes. Shipping Threshold Bar for WooCommerce includes a Smart Shipping Bar block for the WordPress block editor.

= Does it include an Elementor widget? =

Yes. If Elementor is active, you can use the Smart Shipping Bar Elementor widget to place the free shipping progress bar in Elementor layouts.

== Screenshots ==

1. General settings with free shipping goal, threshold source, placements, custom messages, live preview, shortcode help, and theme presets.
2. Design settings with color controls, dimensions, icon selection, progress style, live preview, and theme presets.
3. Rules and exclusions settings with percentage display, empty cart visibility, virtual and downloadable product exclusions, and product category exclusions.

== Changelog ==

= 1.0.0 =
* Initial release.
* Added WooCommerce free shipping progress bar.
* Added automatic and manual free shipping threshold options.
* Added multiple placements, shortcode, block editor block, Elementor widget, legacy checkout support, and WooCommerce block checkout support.
* Added design controls, theme presets, custom messages, AJAX refresh, and exclusion rules.

== Upgrade Notice ==

= 1.0.0 =
Initial release of Shipping Threshold Bar for WooCommerce.
