{"id":391976,"date":"2026-11-10T16:00:02","date_gmt":"2026-11-10T16:00:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/zenvy-free-shipping-progress-bar-for-woocommerce\/"},"modified":"2026-11-10T15:59:32","modified_gmt":"2026-11-10T15:59:32","slug":"zenvy-shipping-progress-bar-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/zenvy-shipping-progress-bar-for-woocommerce\/","author":16474034,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Zenvy Shipping Progress Bar for WooCommerce","header_author":"Delower Hossain","header_description":"Increase your average order value with a smart free shipping progress bar. Auto-detects your WooCommerce free shipping threshold and updates in real time on the mini-cart, cart and checkout.","last_updated":"2026-11-10 15:59:32","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/delowerhossain.com\/plugins\/zenvy-shipping-progress-bar-for-woocommerce\/","header_author_uri":"https:\/\/delowerhossain.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":76,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"wpdelower","date":"2026-11-10 15:59:32","revision":3794742}},"upgrade_notice":{"1.0.1":"<p>Adds an automatic top-of-page bar and fixes the bar being hidden when no shipping methods exist.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3794742,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3794742,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3794742,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3794742,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3794742,"resolution":"1","location":"assets","locale":"","width":1025,"height":1246}},"screenshots":[]},"plugin_section":[],"plugin_tags":[204799,154834,291857,9351,65853],"plugin_category":[],"plugin_contributors":[223288],"plugin_business_model":[],"class_list":["post-391976","plugin","type-plugin","status-publish","hentry","plugin_tags-cart-upsell","plugin_tags-free-shipping-bar","plugin_tags-free-shipping-progress-bar","plugin_tags-progress-bar","plugin_tags-woocommerce-free-shipping","plugin_contributors-wpdelower","plugin_committers-wpdelower"],"banners":{"banner":"https:\/\/ps.w.org\/zenvy-shipping-progress-bar-for-woocommerce\/assets\/banner-772x250.png?rev=3794742","banner_2x":"https:\/\/ps.w.org\/zenvy-shipping-progress-bar-for-woocommerce\/assets\/banner-1544x500.png?rev=3794742","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/zenvy-shipping-progress-bar-for-woocommerce\/assets\/icon-128x128.png?rev=3794742","icon_2x":"https:\/\/ps.w.org\/zenvy-shipping-progress-bar-for-woocommerce\/assets\/icon-256x256.png?rev=3794742","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/zenvy-shipping-progress-bar-for-woocommerce\/assets\/screenshot-1.png?rev=3794742","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>Zenvy Shipping Progress Bar for WooCommerce<\/strong> shows customers exactly how much more they need to spend to unlock free shipping. A clear WooCommerce free shipping progress bar is one of the simplest cart upsell tactics for increasing average order value and reducing cart abandonment.<\/p>\n\n<p>The bar reads your real WooCommerce free shipping threshold automatically, updates instantly when products are added or removed, and works with both the classic cart and the new Cart and Checkout Blocks. The plugin is fully <strong>HPOS compatible<\/strong> (High-Performance Order Storage).<\/p>\n\n<h4>Why a free shipping bar?<\/h4>\n\n<p>Shoppers love free shipping. When they see \"Add $12.50 more to unlock FREE Shipping!\", many add one more product to reach the goal. That means bigger orders without discounts.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Smart goal detection<\/strong> - automatically reads the minimum amount of the Free Shipping method in the customer's matched WooCommerce shipping zone.<\/li>\n<li><strong>Manual fallback goal<\/strong> - set a fixed amount when you do not use shipping zones, or when no zone matches yet.<\/li>\n<li><strong>Coupon-aware<\/strong> - optionally deduct coupons and discounts from the progress calculation.<\/li>\n<li><strong>Virtual cart friendly<\/strong> - the bar is hidden for carts that do not need shipping.<\/li>\n<li><strong>Real-time updates<\/strong> - the bar refreshes with AJAX add to cart, mini-cart changes and Cart\/Checkout Block updates. No jQuery is required on the frontend.<\/li>\n<li><strong>Plug and play<\/strong> - activate the plugin and the bar appears automatically at the top of your store. No shortcode, widget or page builder needed.<\/li>\n<li><strong>Flexible placement<\/strong> - also show it in the mini-cart \/ side cart, on the cart page, on the checkout page, or anywhere with the optional <code>[zenvy_shipping_bar]<\/code> shortcode.<\/li>\n<li><strong>Dynamic messages<\/strong> - customize the initial, in-progress and success messages with the <code>{goal}<\/code>, <code>{remaining}<\/code> and <code>{cart_total}<\/code> placeholders. Prices follow your WooCommerce currency settings.<\/li>\n<li><strong>Two style presets<\/strong> - a modern rounded pill bar (Minimal) and animated diagonal stripes (Striped).<\/li>\n<li><strong>Full color control<\/strong> - background, fill, text color and border radius with a live preview in the settings page.<\/li>\n<li><strong>Modern settings dashboard<\/strong> - clean tabbed interface under the shared Zenvy menu.<\/li>\n<li><strong>Compatible with HPOS and Blocks<\/strong> - declares support for custom order tables and Cart\/Checkout Blocks.<\/li>\n<li><strong>Developer friendly<\/strong> - actions and filters to customize the goal, message, markup and settings.<\/li>\n<li><strong>Clean uninstall<\/strong> - optionally remove all plugin data when the plugin is deleted.<\/li>\n<\/ul>\n\n<h4>Free vs Pro<\/h4>\n\n<p><strong>Free (this plugin)<\/strong><\/p>\n\n<ul>\n<li>Auto-detect free shipping goal from shipping zones<\/li>\n<li>Manual fallback goal and coupon deduction<\/li>\n<li>Automatic top-of-page bar, mini-cart, cart, checkout and shortcode placements<\/li>\n<li>Cart and Checkout Block support<\/li>\n<li>Minimal and Striped presets with live preview<\/li>\n<li>Custom messages and colors<\/li>\n<\/ul>\n\n<p><strong>Pro (companion plugin, coming soon)<\/strong><\/p>\n\n<ul>\n<li>Multi-tier milestones for a free gift or discount<\/li>\n<li>Sticky top bar that stays visible while scrolling<\/li>\n<li>Confetti celebration animation<\/li>\n<li>1-click in-bar upsell product<\/li>\n<\/ul>\n\n<p>Pro features are shown as locked options in the settings page. A companion Pro plugin unlocks them through the hooks provided by this plugin.<\/p>\n\n<h4>Placeholders<\/h4>\n\n<ul>\n<li><code>{goal}<\/code> - the free shipping threshold.<\/li>\n<li><code>{remaining}<\/code> - the amount left to reach the threshold.<\/li>\n<li><code>{cart_total}<\/code> - the current cart amount that counts towards the goal.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Make sure WooCommerce is installed and active.<\/li>\n<li>Upload the <code>zenvy-shipping-progress-bar-for-woocommerce<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the Plugins screen.<\/li>\n<li>In WooCommerce, go to Shipping, open a shipping zone and add the Free Shipping method with a minimum order amount (recommended).<\/li>\n<li>That is it. The bar appears at the top of your store automatically.<\/li>\n<li>Optional: go to Zenvy &gt; Shipping Bar to choose where the bar appears, edit the messages and pick your colors.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20without%20a%20free%20shipping%20method%20in%20woocommerce%3F\"><h3>Does it work without a Free Shipping method in WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Choose \"Manual goal only\" in General &amp; Goal, or keep Auto-detect enabled and set a manual fallback goal. The fallback is used whenever no free shipping minimum is found for the customer's zone.<\/p><\/dd>\n<dt id=\"how%20does%20auto-detect%20choose%20the%20goal%3F\"><h3>How does Auto-detect choose the goal?<\/h3><\/dt>\n<dd><p>The plugin finds the shipping zone that matches the customer's shipping location, looks for enabled Free Shipping methods that use a minimum order amount, and uses the lowest minimum amount.<\/p><\/dd>\n<dt id=\"does%20it%20support%20the%20woocommerce%20cart%20and%20checkout%20blocks%3F\"><h3>Does it support the WooCommerce Cart and Checkout Blocks?<\/h3><\/dt>\n<dd><p>Yes. The bar is added above the Cart and Checkout blocks, and it refreshes when the block cart changes. Plugin compatibility with Cart\/Checkout Blocks is declared to WooCommerce.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Is it compatible with HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares compatibility with custom order tables.<\/p><\/dd>\n<dt id=\"can%20i%20show%20the%20bar%20anywhere%20else%3F\"><h3>Can I show the bar anywhere else?<\/h3><\/dt>\n<dd><p>Yes. The shortcode is optional: use <code>[zenvy_shipping_bar]<\/code> in any page, widget or block theme template to place the bar exactly where you want.<\/p><\/dd>\n<dt id=\"why%20is%20the%20bar%20not%20showing%3F\"><h3>Why is the bar not showing?<\/h3><\/dt>\n<dd><p>Check that \"Top of page bar\" is enabled, that a goal greater than zero exists, and that the cart contains at least one product that needs shipping (virtual and downloadable products do not count). If you hide the bar for empty carts, it appears after the first product is added.<\/p><\/dd>\n<dt id=\"can%20i%20deduct%20coupons%20from%20the%20progress%3F\"><h3>Can I deduct coupons from the progress?<\/h3><\/dt>\n<dd><p>Yes. Enable \"Deduct coupons and discounts\" in General &amp; Goal.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20caching%3F\"><h3>Does it work with page caching?<\/h3><\/dt>\n<dd><p>The bar is refreshed through WooCommerce AJAX fragments and a lightweight refresh request, so it stays accurate on cached pages that use the standard WooCommerce cart fragments.<\/p><\/dd>\n<dt id=\"is%20there%20a%20pro%20version%3F\"><h3>Is there a Pro version?<\/h3><\/dt>\n<dd><p>A companion Pro plugin is planned. It adds multi-tier milestones, a sticky top bar, confetti and a 1-click upsell product.<\/p><\/dd>\n<dt id=\"is%20my%20data%20removed%20when%20i%20delete%20the%20plugin%3F\"><h3>Is my data removed when I delete the plugin?<\/h3><\/dt>\n<dd><p>Only when you enable \"Delete data on uninstall\" in General &amp; Goal. Otherwise your settings are kept.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>New: plug-and-play top-of-page bar that appears automatically after activation.<\/li>\n<li>Fix: the bar is no longer hidden on stores that have no shipping methods configured yet.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Add a free shipping progress bar to your WooCommerce mini-cart, cart and checkout. Auto-detects your free shipping goal. HPOS and Blocks compatible.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/391976","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=391976"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpdelower"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=391976"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=391976"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=391976"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=391976"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=391976"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=391976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}