{"id":378595,"date":"2026-10-02T13:36:48","date_gmt":"2026-10-02T13:36:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/free-shipping-bar-for-woocommerce\/"},"modified":"2026-10-02T13:36:31","modified_gmt":"2026-10-02T13:36:31","slug":"plugincity-free-shipping-bar","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/plugincity-free-shipping-bar\/","author":23565792,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.2","requires":"6.7","requires_php":"8.1","requires_plugins":null,"header_name":"PluginCity Free Shipping Bar for WooCommerce","header_author":"PluginCity","header_description":"Show customers how close they are to free shipping, with a progress bar on the cart, at checkout and in the mini-cart.","assets_banners_color":"1167d7","last_updated":"2026-10-02 13:36:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.plugincity.net\/plugins\/free-shipping-bar-for-woocommerce","header_author_uri":"https:\/\/www.plugincity.net","rating":0,"author_block_rating":0,"active_installs":0,"downloads":40,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"plugincitywp","date":"2026-10-02 13:36:31","revision":3724883}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3724883,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3724883,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3724883,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3724883,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3724883,"resolution":"1","location":"assets","locale":"","width":1208,"height":446},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3724883,"resolution":"2","location":"assets","locale":"","width":1208,"height":425},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3724883,"resolution":"3","location":"assets","locale":"","width":1208,"height":1073},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3724883,"resolution":"4","location":"assets","locale":"","width":1000,"height":699},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3724883,"resolution":"5","location":"assets","locale":"","width":1000,"height":664},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3724883,"resolution":"6","location":"assets","locale":"","width":1000,"height":1114},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3724883,"resolution":"7","location":"assets","locale":"","width":1000,"height":749}},"screenshots":{"1":"The bar above the cart, telling a customer exactly how much more to spend. It fills up as they add to their basket.","2":"The same basket once it has got there. The wording changes, the bar is full, and the totals beside it charge nothing to ship.","3":"The bar above the checkout form, where it is a customer's last chance to add something and save the postage.","4":"The amount free shipping starts at. Leave it to follow your shipping settings, or tick the box and name an amount of your own.","5":"Where the bar appears: above the cart, above the checkout, inside the mini-cart, and on an empty cart if you want it there.","6":"The appearance settings, with the shape, the colours and the effect, and a live preview of the bar your customers would see.","7":"The wording is yours. Write {remaining} where the amount still to spend should go, and it fills itself in from the cart in front of the customer."}},"plugin_section":[],"plugin_tags":[3047,5230,127626,9351,286],"plugin_category":[45],"plugin_contributors":[282135],"plugin_business_model":[],"class_list":["post-378595","plugin","type-plugin","status-publish","hentry","plugin_tags-cart","plugin_tags-free-shipping","plugin_tags-mini-cart","plugin_tags-progress-bar","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-plugincitywp","plugin_committers-plugincitywp"],"banners":{"banner":"https:\/\/ps.w.org\/plugincity-free-shipping-bar\/assets\/banner-772x250.png?rev=3724883","banner_2x":"https:\/\/ps.w.org\/plugincity-free-shipping-bar\/assets\/banner-1544x500.png?rev=3724883","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/plugincity-free-shipping-bar\/assets\/icon-128x128.png?rev=3724883","icon_2x":"https:\/\/ps.w.org\/plugincity-free-shipping-bar\/assets\/icon-256x256.png?rev=3724883","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/plugincity-free-shipping-bar\/assets\/screenshot-1.png?rev=3724883","caption":"The bar above the cart, telling a customer exactly how much more to spend. It fills up as they add to their basket."},{"src":"https:\/\/ps.w.org\/plugincity-free-shipping-bar\/assets\/screenshot-2.png?rev=3724883","caption":"The same basket once it has got there. The wording changes, the bar is full, and the totals beside it charge nothing to ship."},{"src":"https:\/\/ps.w.org\/plugincity-free-shipping-bar\/assets\/screenshot-3.png?rev=3724883","caption":"The bar above the checkout form, where it is a customer's last chance to add something and save the postage."},{"src":"https:\/\/ps.w.org\/plugincity-free-shipping-bar\/assets\/screenshot-4.png?rev=3724883","caption":"The amount free shipping starts at. Leave it to follow your shipping settings, or tick the box and name an amount of your own."},{"src":"https:\/\/ps.w.org\/plugincity-free-shipping-bar\/assets\/screenshot-5.png?rev=3724883","caption":"Where the bar appears: above the cart, above the checkout, inside the mini-cart, and on an empty cart if you want it there."},{"src":"https:\/\/ps.w.org\/plugincity-free-shipping-bar\/assets\/screenshot-6.png?rev=3724883","caption":"The appearance settings, with the shape, the colours and the effect, and a live preview of the bar your customers would see."},{"src":"https:\/\/ps.w.org\/plugincity-free-shipping-bar\/assets\/screenshot-7.png?rev=3724883","caption":"The wording is yours. Write {remaining} where the amount still to spend should go, and it fills itself in from the cart in front of the customer."}],"raw_content":"<!--section=description-->\n<p>Most shops offer free shipping over an amount, and most customers never find out. Free Shipping Bar puts a progress bar in front of them: a sentence saying what is left to spend, and a bar that fills as they add to their cart.<\/p>\n\n<p>Type in the amount your shop gives free shipping at, choose where the bar should appear, and that is the setup finished. The bar keeps itself up to date as the cart changes, without the page having to reload.<\/p>\n\n<p>Nothing is ever blocked. A customer who does not reach the amount pays for shipping as normal \u2014 the bar is a nudge, not a rule.<\/p>\n\n<h4>What you get<\/h4>\n\n<ul>\n<li>A progress bar showing how close the cart is to free shipping<\/li>\n<li>Your choice of where it appears: the cart page, the checkout, the mini-cart widget, or any combination<\/li>\n<li>A shortcode, <code>[fsbwc_bar]<\/code>, to put the bar anywhere else on your site<\/li>\n<li>A reminder sentence you write yourself, which can be turned off if you would rather show the bar on its own<\/li>\n<li>Two shapes: rounded, or square<\/li>\n<li>Your own colours for the bar, the progress fill and the text<\/li>\n<li>A choice of effect on the fill: moving stripes, a passing shine, a gentle pulse, or none<\/li>\n<li>Every string in one place, on the Localization tab, ready to translate or reword<\/li>\n<li>A check against your real shipping settings, so you are told if the bar is naming an amount your checkout will not honour<\/li>\n<li>Settings import and export, so a configuration can be carried to another shop or kept as a backup before you change it<\/li>\n<li>Works with the classic cart and checkout and with the Cart and Checkout blocks<\/li>\n<li>High-Performance Order Storage compatibility<\/li>\n<\/ul>\n\n<p>The free version is permanent. It does not expire, needs no licence key, and never contacts PluginCity.<\/p>\n\n<p>Not every customer is measured against the same figure. Wholesale accounts often earn free shipping at a different amount from retail ones, and most shops that deliver abroad charge for it differently depending on where an order is going. <a href=\"https:\/\/www.plugincity.net\/plugins\/free-shipping-bar-for-woocommerce\">Pro<\/a> gives a role its own amount or takes the bar away from a role that already gets free delivery, reads each customer's own amount from your shipping zones, runs a free delivery weekend that starts and stops on its own, leaves gift cards and bulky goods out of the total, marks the moment a cart earns free shipping with a colour and a celebration of its own, pins the bar to every page of your shop rather than only the cart, and tells you how many orders reached the amount after seeing the bar.<\/p>\n\n<p>PluginCity Free Shipping Bar Pro is a separately distributed paid version. It is not included in this plugin and is not downloaded or installed by it.<\/p>\n\n<h3>Configuration<\/h3>\n\n<ol>\n<li>Turn the bar on.<\/li>\n<li>Check the amount, which is already filled in. It shows what your WooCommerce free shipping method asks for, and changing it here changes that method to match, so the bar and your checkout cannot drift apart. Tick <strong>Set my own amount<\/strong> only if the bar should show something else and your shipping settings should be left alone \u2014 if your zones give free shipping at different amounts, or you arrange free delivery outside WooCommerce.<\/li>\n<li>Tick the places you want the bar: the cart page, the checkout, the mini-cart widget.<\/li>\n<li>Choose the shape, the colours and the effect. The preview on the settings screen is your own bar, so you can see each change as you make it.<\/li>\n<li>Reword the two sentences on the Localization tab if you want to.<\/li>\n<\/ol>\n\n<!--section=installation-->\n<p>WooCommerce must be installed and active first.<\/p>\n\n<ol>\n<li>In WordPress, go to <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Search for <strong>PluginCity Free Shipping Bar for WooCommerce<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Free Shipping Bar<\/strong>, or click <strong>Settings<\/strong> on the Plugins screen.<\/li>\n<\/ol>\n\n<p>Installing from a downloaded ZIP instead: go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>, choose the ZIP file, and click <strong>Install Now<\/strong>. Leave the ZIP as it is; there is no need to unzip it.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20with%20the%20block%20cart%20and%20checkout%3F\"><h3>Does it work with the block cart and checkout?<\/h3><\/dt>\n<dd><p>Yes. The same bar is drawn in the Cart and Checkout blocks and in the block mini-cart, from the same settings, so it looks the same wherever a customer meets it.<\/p><\/dd>\n<dt id=\"does%20it%20set%20up%20free%20shipping%20for%20me%3F\"><h3>Does it set up free shipping for me?<\/h3><\/dt>\n<dd><p>No, and it is worth being clear about this. Free shipping itself is a WooCommerce shipping method, set up under <strong>WooCommerce \u2192 Settings \u2192 Shipping<\/strong>. This plugin shows customers how close they are to earning it. It does take the amount from that method rather than asking you for it again, and if you change the amount on the bar's settings it changes the method to match and tells you it has, so the two cannot end up telling your customers different things. Setting the method up in the first place, and everything else about it, is still WooCommerce's own screen.<\/p><\/dd>\n<dt id=\"what%20does%20the%20bar%20count%3F\"><h3>What does the bar count?<\/h3><\/dt>\n<dd><p>The cart subtotal, before shipping, with any coupon discount taken off it. Tax is counted only if your shop shows prices with tax included, so the amount the bar measures is the one the customer sees in their cart.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20a%20customer%20uses%20a%20coupon%3F\"><h3>What happens when a customer uses a coupon?<\/h3><\/dt>\n<dd><p>The bar follows whatever your free shipping method is set to, so that it never promises something your checkout will not give. A coupon that takes money off reduces what the bar counts, because that is how WooCommerce decides whether the minimum has been met \u2014 unless you have ticked <strong>Apply minimum order rule before coupon discount<\/strong>, in which case the bar counts the full subtotal too. A coupon that gives free shipping outright fills the bar straight away, because the customer has already earned it.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20wording%3F\"><h3>Can I change the wording?<\/h3><\/dt>\n<dd><p>Yes, on the Localization tab. There are two sentences: one for a cart that is still short, and one for a cart that has earned free shipping. You can use <code>{remaining}<\/code> for what is left to spend, <code>{total}<\/code> for the cart total so far, and <code>{threshold}<\/code> for the amount itself, and each will be priced in your shop's own currency. Bold, italics and links are allowed; anything else is stripped before it reaches the storefront.<\/p><\/dd>\n<dt id=\"can%20i%20translate%20the%20wording%20into%20more%20than%20one%20language%3F\"><h3>Can I translate the wording into more than one language?<\/h3><\/dt>\n<dd><p>Yes. The plugin's own labels are ready for translation in the usual way, and the two sentences you type in yourself are registered for WPML and WPML String Translation, so you will find them under String Translation rather than having to settle for one language.<\/p><\/dd>\n<dt id=\"can%20i%20show%20the%20bar%20without%20any%20wording%3F\"><h3>Can I show the bar without any wording?<\/h3><\/dt>\n<dd><p>Yes. Untick the reminder on the Appearance card and the bar is drawn on its own. Clearing the sentence for a cart that has earned free shipping works too, if you want wording on the way up and a plain full bar at the end.<\/p><\/dd>\n<dt id=\"can%20i%20put%20the%20bar%20somewhere%20else%20on%20my%20site%3F\"><h3>Can I put the bar somewhere else on my site?<\/h3><\/dt>\n<dd><p>Yes. The shortcode <code>[fsbwc_bar]<\/code> draws it wherever you put it \u2014 a landing page, a sidebar, a block template.<\/p><\/dd>\n<dt id=\"can%20the%20bar%20show%20before%20the%20customer%20has%20added%20anything%3F\"><h3>Can the bar show before the customer has added anything?<\/h3><\/dt>\n<dd><p>Yes, if you want it to. Tick \"An empty cart\" under <strong>Where it appears<\/strong> and a customer with nothing in their basket is shown the whole amount to spend. It is off to begin with, because the mini-cart sits in the header on most themes and that would put the offer on every page of your site.<\/p><\/dd>\n<dt id=\"does%20the%20bar%20move%20as%20the%20customer%20shops%3F\"><h3>Does the bar move as the customer shops?<\/h3><\/dt>\n<dd><p>Yes. Adding to the cart, changing a quantity, removing a line and applying a coupon all redraw the bar without reloading the page.<\/p><\/dd>\n<dt id=\"my%20side%20cart%20does%20not%20show%20the%20bar.%20can%20i%20fix%20that%3F\"><h3>My side cart does not show the bar. Can I fix that?<\/h3><\/dt>\n<dd><p>Usually there is nothing to fix: a side cart built on WooCommerce's own mini-cart shows the bar already, so start by ticking the mini-cart under <strong>Where it appears<\/strong>. If it still does not appear, that side cart has written its own basket and the plugin has no way to know where inside it the bar should go. Ask its author which hook it fires before listing the items, then add that name with a small snippet:<\/p>\n\n<pre><code>add_filter( 'fsbwc_mini_cart_hooks', function ( $hooks ) { $hooks[] = 'the_hook_it_named'; return $hooks; } );\n<\/code><\/pre><\/dd>\n<dt id=\"will%20it%20block%20anyone%20from%20ordering%3F\"><h3>Will it block anyone from ordering?<\/h3><\/dt>\n<dd><p>No. A customer who has not reached the amount checks out as normal and pays for shipping. Nothing about the bar refuses an order.<\/p><\/dd>\n<dt id=\"one%20of%20my%20customers%20has%20asked%20their%20computer%20for%20less%20animation.%20does%20the%20effect%20still%20move%3F\"><h3>One of my customers has asked their computer for less animation. Does the effect still move?<\/h3><\/dt>\n<dd><p>No. The effects respect the reduced-motion setting in the operating system, so the bar keeps its colours and stands still.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20high-performance%20order%20storage%3F\"><h3>Does it work with High-Performance Order Storage?<\/h3><\/dt>\n<dd><p>Yes. Nothing is written to orders, so HPOS shops are fully supported.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20deactivate%20woocommerce%3F\"><h3>What happens if I deactivate WooCommerce?<\/h3><\/dt>\n<dd><p>The plugin steps aside and shows a notice. It does not fatally error, and your settings are waiting when WooCommerce comes back.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20account%20or%20a%20licence%3F\"><h3>Do I need an account or a licence?<\/h3><\/dt>\n<dd><p>No. It is free to use for as long as you like, needs no key, and never contacts PluginCity.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<\/ul>","raw_excerpt":"Show customers how close they are to free shipping, with a progress bar on the cart, at checkout and in the mini-cart.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/378595","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=378595"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/plugincitywp"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=378595"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=378595"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=378595"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=378595"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=378595"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=378595"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}