=== Free Shipping Label and Progress Bar for WooCommerce ===
Contributors: devnethr, MarinMatosevic
Tags: free shipping, amount left, progress bar, gift bar, woocommerce
Requires PHP: 7.4
Requires at least: 6.4
Stable tag: 3.4.2
Tested up to: 6.9
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Increase order revenue by showing your customers just how close they are to your free shipping threshold.

== Description ==

With our progress bar notification, you can give your customers a clear picture of just how close they are to qualifying for free shipping. This not only stops shoppers from leaving, but also encourages them to add more items to their cart and increase their order value - boosting your revenue in the process. 

Now, introducing the exciting Gift Bar module, adding a touch of delight to the shopping journey. Motivate your customers to go the extra mile, qualifying for a free gift. This strategic move not only enhances order values but adds an element of excitement to the entire purchasing process.

Not only that, but our progress bar notification also provides a sense of urgency for your customers to reach the free shipping threshold. This can drive impulse purchases and increase the likelihood of your customers completing their purchase. By keeping the progress bar front and center, your customers will always be aware of how close they are to qualifying for free shipping, making them more likely to add that one extra item to reach the threshold.

Additionally, our progress bar notification is fully customizable to fit the look and feel of your brand. You can choose from a range of colors and styles to match your website's aesthetic, ensuring a seamless integration with your existing design.

Give your customers a smooth shopping journey and increase your average order value with our progress bar notification.

### [DOCUMENTATION](https://devnet.hr/docs/free-shipping-label/) | [FREE SHIPPING LABEL PRO](https://devnet.hr/plugins/free-shipping-label/)

🎉 **Make the Most of the Gift Bar Module!** 🎁✨ Boost sales and delight your customers by offering free gifts as they shop. The **Gift Bar** module seamlessly integrates into your progress bar, encouraging shoppers to add more to their cart to unlock a reward. It’s the perfect way to enhance engagement and increase average order value. [Learn more about how it works.](https://devnet.hr/docs/free-shipping-label/gift-bar/)

🎉 **Looking to Add More Goals to Your Progress Bar?** 🛒💸 The [Discount Bar Add-On](https://devnet.hr/plugins/free-shipping-label/fsl-discount) lets you introduce up to three additional steps, encouraging customers to unlock exciting discounts as they shop. It’s a powerful way to boost cart values, engage shoppers, and drive more sales. [Learn more about it here.](https://devnet.hr/docs/free-shipping-label/discount-bar/)

## Who is plugin for?

- eCommerce Store Owners
- Agencies building shops for clients
- Anyone trying to create a better user experience
- Anyone trying to increase shop performance
- Anyone trying to add more dynamism to the shop

### Features

- Animated Gift bar
- Animated progress bar
- Customize progress bar
- Display on the cart page and checkout pages
- Hide shipping rates when free shipping is available
- Message after free shipping threshold is reached
- Show to all users or only for logged ones
- Product Label for simple and variable products
- Customize Product Label
- Translation ready
- Easy to use, no coding required
- Compatible with: 
    - Table Rate Shipping Method for WooCommerce by Flexible Shipping
    - WooCommerce Advanced Free Shipping

### Get More Options in Free Shipping Label Pro

With [Free Shipping Label Pro](https://devnet.hr/plugins/free-shipping-label/), you get a lot more features, including:

- Threshold Icon indicator
- More display options
- Animated Circular progress bar
- Customizable Circular progress bar
- Image label
- Label position
- Exclude label on selected categories or products
- Currency switcher plugins compatibility 
    - FOX (former name is WOOCS)
    - CURCY - Multi Currency for WooCommerce 
    - WooCommerce Multilingual by OnTheGoSystems (WPML)
- [Animated notice bar](https://devnet.hr/docs/free-shipping-label/notice-bar/)
- Advanced customization of notice bar
- Advanced progress bar customization	
- Progress bar cart positions
- Progress bar checkout positions
- Progress bar shortcode
- Progress bar gutenberg block
- Progress bar widget
- Progress bar compatible with: 
    - [WooCommerce Cart and Checkout blocks](https://woocommerce.com/checkout-blocks/)
    - Elementor
    - FunnelKit
    - WPC Fly Cart
    - Side Cart
- and more!

### Add Additional Steps/Levels with FSL Discount Add-On

Take your Free Shipping Label plugin to the next level with the [FSL Discount Add-On](https://devnet.hr/plugins/free-shipping-label/fsl-discount). Unlock new possibilities for boosting sales by introducing a dynamic discount bar, encouraging customers to spend more and enhancing their shopping experience.

#### Key Features:
- **Add up to Three Discount Steps:** Motivate customers with single, double, or triple-step goals to unlock exclusive discounts.
- **Flexible Discount Options:** Apply percentage discounts automatically or use customizable coupon codes.
- **Customizable Messages:** Tailor progress bar text to match your store’s tone and promotions.
- **Customizable Threshold Icon:** Make your progress bar visually engaging with unique threshold icons.

Inspire your customers to spend more, increase cart values, and create a rewarding shopping experience. [Learn More](https://devnet.hr/plugins/free-shipping-label/fsl-discount).



### Support

We're here to help. Feel free to open a new thread on the [Support Forum](https://wordpress.org/support/plugin/free-shipping-label/).

### Documentation

You can check Free Shipping Label documentation [here](https://devnet.hr/docs/free-shipping-label/).

### Reviews

It's funny how much joy all those 5-star reviews bring to our team. It really keeps us going and motivates us to bring more cool features.
If you like this plugin, feel free to leave a [review](https://wordpress.org/support/plugin/free-shipping-label/reviews/#new-post).


## Other Plugins by Devnet

Here are some other plugins we have developed that you might find useful:

- [Product Price History](https://wordpress.org/plugins/product-price-history/) - Track product price history with customizable charts and graphs on your WooCommerce store. Show lowest price and increase customer trust.
- [Easy Subscribe](https://wordpress.org/plugins/easy-subscribe/) - Effortlessly integrate customizable subscription forms on your WordPress site with a simple shortcode.
- [Price Alerts](https://wordpress.org/plugins/price-alerts/) - Let customers subscribe to price drops and boost sales by notifying interested buyers when product prices fall below their target.
- [Easy Booking Calendar](https://wordpress.org/plugins/easy-booking-calendar/) - Turn any product into a reservation-ready item. This plugin adds a customizable calendar to product pages, allowing customers to select date ranges for bookings.
- [BizNotes](https://wordpress.org/plugins/biznotes/) - Exclusive admin notes for seamless order management among multiple admins. Effortless collaboration, powered up.
- [Snap Blocks](https://wordpress.org/plugins/snap-blocks/) - A lightweight plugin that lets you create reusable content blocks in WordPress.
- [PingVid](https://wordpress.org/plugins/pingvid/) - A lightweight WordPress plugin that adds a floating video widget to your site.


== Installation ==

This plugin can be easily installed like any other WordPress integration by following the steps below:

1. Upload the plugin to the `/wp-content/plugins/` directory
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Go to the settings page: WooCommerce > Settings > Shipping > Free Shipping Label
4. Set up the plugin and when you're ready, enable it.

== Frequently Asked Questions ==

= What do I need to do for the Free Shipping Label plugin to work properly? =

In order for the Free Shipping Label plugin to work properly, you will need to set up WooCommerce zones and shipping methods. Additionally, the progress bar will only be displayed on the cart and checkout pages for zones that have defined free shipping methods. You can find more information about this in the [official documentation](https://devnet.hr/docs/free-shipping-label/woocommerce-settings/).

= Mini cart not showing progress bar =

Some themes and plugins may have their own minicart templates that override or exclude the default WooCommerce hook where the progress bar should be displayed. In this case, our pro version offers a shortcode that can be placed anywhere on the site, including the minicart. Alternatively, a more advanced option is to modify the minicart template and add the `woocommerce_widget_shopping_cart_before_buttons` hook to ensure the progress bar is displayed correctly.

= What should I do if the Progress Bar is not showing? =

First, check if you have enabled the Progress Bar switch in the settings. If it's already enabled, go through the [WooCommerce setup guide](https://devnet.hr/docs/free-shipping-label/woocommerce-settings/) and ensure everything is configured correctly. If you are still experiencing problems, contact the support team.

= What if I'm using other shipping-related plugins? =

If you are using any other plugins for shipping or free shipping functionalities, it may be the case that the plugin you have installed is not compatible with the Free Shipping Label plugin. You can enable the Custom threshold option in the General settings and manually set your Free Shipping minimum amount. If this doesn't work, contact the support team.

= What if I suspect a template issue? =

If you have followed all steps above and still progress bar won’t show, then this might be a template issue. If the progress bar is showing for example on the checkout page but not on the cart page, or vice versa, then it's probably a template issue. In this case, our pro version offers a shortcode that can be placed anywhere on the site, or you can edit the WooCommerce templates, but this requires a little bit of PHP, HTML and CSS knowledge. Be careful as you'll have to figure out on your own what to do.

= What are the WooCommerce hooks that are used for displaying the Progress Bar? =

The WooCommerce hooks that are used for displaying the Progress Bar are as follows:

Cart page hook: `woocommerce_proceed_to_checkout`
Mini-cart widget hook: `woocommerce_widget_shopping_cart_before_buttons`
Checkout hook: `woocommerce_review_order_before_submit`

== Screenshots ==

1. Progress Bar
2. Animated progress bar
3. Circular progress bar in notice bar
4. Circular progress bar on cart page
5. Product label
6. Settings panel 1
7. Settings panel 2

== Changelog ==

= 3.4.2 =

*2025-09-30*

* Fix: Product label image now displays correctly on single variations when Label Over Image is enabled
* Update: Detect block-based Cart/Checkout pages with notice in settings about compatibility and block usage
* Update: Freemius SDK updated to the latest version
* Compatibility: Tested up to WooCommerce 10.2

= 3.4.1 =

*2025-08-18*

* Add: Layout option - Vertical list (alt) - all descriptions displayed
* Update: Layout option - Vertical list - show only current goal description
* Update: Freemius SDK updated to the latest version
* Compatibility: Tested up to WooCommerce 10.1

= 3.4.0 =

*2025-07-01*

* Fix: Resolved edge case causing memory spikes
* Fix: Gift Bar – Label is now translatable  
* Add: Gift Product – Price display options  
* Update: Display Mode options moved to Progress Bar > Layout for Multiple Goals  
* Update: Freemius SDK updated to the latest version
* Update: Minor style adjustments across front-end components  
* Update: Improved UI of settings pages for better usability
* Performance: Code optimizations for better plugin efficiency
* Compatibility: Tested up to WooCommerce 9.9  

= 3.3.2 =

*2025-04-15*

* Compatibility: WP tested up to 6.8
* Compatibility: WC tested up to 9.8
* Dev: Added `fsl_gift_pass` filter hook

= 3.3.1 =

*2025-03-18*

* Fix: Ensure the minimum amount is always treated as a float to prevent calculation issues
* Update: Settings pages
* Compatibility: WC tested up to 9.7

= 3.3.0 =

*2025-02-25*

* Add: `fsl_treat_downloadables_as_virtual` filter hook
* Add: Compatibility with Advanced Free Shipping plugin
* Update: Settings pages

= 3.2.2 =

*2025-01-27*

* Update: Updated Freemius SDK to the latest version
* Compatibility: WC tested up to 9.6

= 3.2.1 = 

*2025-01-17*

* Add: Add-on support - Discount bar
* Compatibility: WC tested up to: 9.5

= 3.2.0 = 

*2024-12-03*

* Fix: Custom threshold decimal step 0.01
* Fix: Progress bar not displaying due to free shipping threshold using a comma as the decimal separator
* Fix: When displaying the free shipping and free gift progress bars, show the module with the lower threshold first
* Fix: RTL direction when using icons
* Update: Color picker
* Update: Settings API
* Update: Freemius WordPress SDK to latest version
* Compatibility: WP tested up to: 6.7
* Compatibility: WC tested up to: 9.4

= 3.1.2 = 

*2024-08-07*

* Fix: Corrected sorting of grouped modules by threshold, preserving original keys
* Fix: Removed subtle 1px top border shadow from the progress bar that created the appearance of padding above the inner bar
* Update: Free Shipping text placeholder now supports both `{free_shipping_amount}` and `{threshold}` variables
* Update: Freemius WordPress SDK to latest version
* Compatibility: WC tested up to: 9.3

= 3.1.1 = 

*2024-08-07*

* Update: Improved performance and compatibility with the latest WordPress and WooCommerce versions
* Update: Enhanced language file translations
* Update: Freemius WordPress SDK to latest version
* Maintenance - Minor bug fixes and improvements

= 3.1.0 = 

*2024-07-12*

* Fix: Gift bar - vertical list bullets layout issue on some themes
* Remove - Gift Bar - qualified message toggle
* Update: Freemius WordPress SDK
* Update: Admin options better arrangement
* Update: Language file
* Dev: Additional `product` parameter to `fsl_product_price` filter hook
* Dev: Additional `price` parameter to `fsl_product_label_html` filter hook
* Compatibility: WP tested up to: 6.6
* Compatibility: WC tested up to: 9.1

= 3.0.6 = 

*2024-05-22*

* Update: settings panel - descriptions
* Update: language file
* Compatibility: WC tested up to: 8.9

= 3.0.5 = 

*2024-05-03*

* Update: Freemius WordPress SDK

= 3.0.4 = 

*2024-04-23*

* Update: Freemius WordPress SDK
* Compatibility: WC tested up to: 8.8

= 3.0.3 = 

*2024-04-12*

* Update: settings panel - descriptions
* Update: settings panel - footer
* Update: Freemius WordPress SDK
* Update: language file
* Compatibility: WC tested up to: 8.7
* Dev: added new `fsl_progress_bar_setup_args` filter hook

= 3.0.2 = 

*2024-03-18*

* Fix: Flexible shipping instance id fix
* Compatibility: WC tested up to: 8.6
* Compatibility: WP tested up to: 6.5

= 3.0.1 = 

*2024-01-12*

* Fix: console error when logged out

= 3.0.0 = 

*2024-01-08*

* Fix: FSL block and Ajax updates
* Add: Gift Bar module
* Update: Progress bar styles
* Update: Admin settings option
* Update: Admin option
* Update: Freemius WordPress SDK
* Dev: removed unused position filter hooks
* Dev: added new `fsl_admin_menu_user_capability` filter hook
* Compatibility: WC tested up to: 8.3
* Compatibility: WP tested up to: 6.4

= 2.6.13 = 

*2023-07-31*

* Fix: error on settings page
* Compatibility: WC tested up to: 7.9
* Compatibility: WP tested up to: 6.3

= 2.6.12 = 

*2023-07-14*

* Fix: broken select2 dropdown in admin settings

= 2.6.11 = 

*2023-07-05*

* Update: Freemius SDK update to 2.5.10

= 2.6.10 = 

*2023-06-15*

* Fix: Progress bar not loading if local pickup selected first
* Update: readme.txt
* Update: Freemius WordPress SDK to 2.5.9
* Compatibility: WC tested up to: 7.8
* Dev: Added new `fsl_progress_bar_placeholder_html` filter hook

= 2.6.9 = 

*2023-05-18*

* Fix: custom threshold and only virtual products showing the progress bar
* Fix: free shipping requires - both, coupon
* Fix: when allowed zero shipping and selected local pickup showing qualified message
* Update: Freemius WordPress SDK to 2.5.8
* Compatibility: WC tested up to: 7.7

= 2.6.8 = 

*2023-04-25*

* Fix: flexible shipping min. amount calculation

= 2.6.7 = 

*2023-04-25*

* Fix: css classes typo
* Fix: svg icons in settings section
* Update: settings API
* Update: freemius sdk
* Compatibility: WC tested up to: 7.6

= 2.6.6 = 

*2023-04-13*

* Update: color pickers with alpha/transparent option
* Update: freemius sdk
* Security - additional security layer in settings API
* Compatibility: WC tested up to: 7.5
* Compatibility: WP tested up to: 6.2

= 2.6.5 =
* Security - enhanced security measures taken including input sanitization, attribute escaping, and replacement of remote select2 with woocommerce select2

= 2.6.4 = 

*2023-03-06*

* Update – minor style changes in the settings panel
* Update: readme.txt

= 2.6.3 = 

*2023-03-01*

* Fix: Error related to contributors when viewing details of a plugin
* Update: readme.txt
* Compatibility: WC tested up to: 7.4

= 2.6.2 = 

*2023-02-13*

* Update: zero shipping cost - free shipping is indicated by a shipping cost of zero
* Update: plugin name
* Update: language .pot file

= 2.6.1 = 

*2023-02-06*

* Fix: WooCommerce check on multisite
* Add: option to allow zero shipping cost
* Update: plugin name
* Update: language .pot file
* Update: css for settings options

= 2.6.0 = 

*2023-01-20*

* Fix: don't show progress bar if shipping cost is 0
* Fix: division by zero error when threshold is 0
* Fix: flexible shipping with local pickup enabled
* Fix: Deactivate free version when PRO activated
* Update: language .pot file
* Update: Freemius sdk
* Compatibility: WC tested up to: 7.3

= 2.5.1 = 

*2022-11-22*

* Fix: error when trying to delete plugin
* Fix: array to string conversion	

= 2.5.0 = 

*2022-11-22*

* Compatibility: WC tested up to: 7.1
* Compatibility: WP tested up to: 6.1
* Enhancement: Freemius integration
* Update: HPOS compatibility
* Update: product label filter priority
* Update: language .pot file

= 2.4.3 = 

*2022-10-17*

* Fix: E_PARSE

= 2.4.2 = 

*2022-10-14*

* Fix: Don't show Progress Bar if only virtual products are in the cart
* Compatibility: WC tested up to: 7.0
* Update: Ignore coupon option deprecated
* Update: language .pot file

= 2.4.1 = 

*2022-10-06*

* Fix: Product label styles

= 2.4.0 = 

*2022-06-03*

* Fix: Showing progress bar when free shipping coupon applied
* Fix: typos
* Update: language .pot file
* Enhancement: Security
* Compatibility: WC tested up to: 6.5
* Compatibility: WP tested up to: 6.0
* Performance: Code optimization
* Dev: Added new `fsl_settings_sections` filter hook
* Dev: Added new `fsl_settings_fields` filter hook
* Dev: Added new `fsl_settings_general` filter hook
* Dev: Added new `fsl_settings_progress_bar` filter hook
* Dev: Added new `fsl_settings_product_label` filter hook
* Dev: Added new `fsl_cart_progress_bar_position` filter hook
* Dev: Added new `fsl_minicart_progress_bar_position` filter hook
* Dev: Added new `fsl_product_label_html` filter hook

= 2.3.1 = 

*2022-03-16*

* Fix: Error when deleted initial shipping zone
* Fix: Fatal Error related to shipping packages
* Compatibility: WC tested up to: 6.3

= 2.3.0 = 

*2022-01-26*

* Enhancement: Initial shipping zone
* Fix: issues with showing labels before shipping method are chosen
* Fix: single product page: labels on variable products not showing up
* Fix: typos
* Compatibility: WP tested up to: 5.9
* Compatibility: WC tested up to: 6.1

= 2.2.3 = 

*2021-12-16*

* Dev: Added new `fsl_progress_bar_html` filter hook
* Dev: Added new `fsl_checkout_progress_bar_position` filter hook
* Compatibility: WC tested up to: 6.0
* Performance: Code optimization

= 2.2.2 = 

*2021-09-29*

* Fix: PHP Warning related to `fsl_shipping_method_min_amount` hook

= 2.2.1 = 

*2021-09-28*

* Fix: PHP Warning related to `fsl_flexible_shipping_min_amount` hook
* Dev: Added new `fsl_product_price` filter hook
* Compatibility: WC tested up to: 5.7

= 2.2.0 = 

*2021-09-02*

* Tweak - Added additional classes to progress bar
* Fix: Gutenberg error
* Enhancement: Hide shipping rates when free shipping is available
* Compatibility: WC tested up to: 5.6
* Dev: Added new `fsl_min_amount` filter hook
* Dev: Added new `fsl_free_shipping_instance_key` filter hook
* Dev: Added new `fsl_shipping_method_min_amount` filter hook
* Dev: Added new `fsl_flexible_shipping_min_amount` filter hook

= 2.1.1 = 

*2021-04-29*

* Fix: Animated progress bar

= 2.1.0 = 

*2021-04-28*

* Fix: Minor bug fixes
* Fix – minor style issues
* Enhancement: Disable for logged out users
* Enhancement: Message after free shipping threshold is reached
* Compatibility: WC tested up to: 5.2
* Update: pot file

= 2.0.3 = 

*2021-01-22*

* Fix – minor style issues
* Compatibility: WC tested up to: 4.9

= 2.0.2 = 

*2020-12-19*

* Fix – Syntax error
* Compatibility: WC tested up to: 4.8

= 2.0.1 = 

*2020-10-30*

* Enhancement: Multilingual support
* Update: pot file
* Fix: Minor bug fixes
* Performance: Code optimization
* Compatibility: Tested with latest WooCommerce version (4.6.1)

= 2.0.0 = 

*2020-10-12*

* Enhancement: Added product label
* Enhancement: New plugin menu page and tab pages
* Performance: Refactored code, queries, and options

= 1.0.1 = 

*2020-07-31*

* Fix: loading translations
* Update: textdomain

= 1.0.0 = 

*2020-07-30*

* First Launch

== Upgrade Notice ==
