{"id":373218,"date":"2026-10-02T04:07:47","date_gmt":"2026-10-02T04:07:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/badgex-smart-product-badges-for-woocommerce\/"},"modified":"2026-10-03T13:00:14","modified_gmt":"2026-10-03T13:00:14","slug":"storzen-product-badge-rules-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/storzen-product-badge-rules-for-woocommerce\/","author":15779958,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.6","requires":"6.3","requires_php":"8.0","requires_plugins":null,"header_name":"Storzen Product Badge Rules for WooCommerce","header_author":"WebTend","header_description":"Rule-based product badges for WooCommerce. Highlight sale, new, hot, and low-stock products automatically.","assets_banners_color":"f5f6f8","last_updated":"2026-10-03 13:00:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/storzen-product-badge-rules-for-woocommerce\/","header_author_uri":"https:\/\/webtend.net\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":71,"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":"devhasib","date":"2026-10-03 13:00:14","revision":3726281},"v1.0.0":{"tag":"v1.0.0","author":"devhasib","date":"2026-10-02 04:07:26","revision":3724133}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3724126,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3724126,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":501},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3724126,"resolution":"772x250","location":"assets","locale":"","width":773,"height":251}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","v1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3724126,"resolution":"1","location":"assets","locale":"","width":1280,"height":1055},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3724126,"resolution":"2","location":"assets","locale":"","width":1280,"height":780},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3724126,"resolution":"3","location":"assets","locale":"","width":1330,"height":620},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3724126,"resolution":"4","location":"assets","locale":"","width":1330,"height":1480},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3724126,"resolution":"5","location":"assets","locale":"","width":1330,"height":640}},"screenshots":{"1":"Product badges on the WooCommerce shop page: sale, new, low stock, hot and sold out.","2":"Sale badge with the {pct} discount token on a single product page.","3":"All Badges list: manage rule, position, priority, schedule and status.","4":"Badge editor with live preview, colour pickers, shapes and an 8-point position grid.","5":"Display settings: choose where badges appear and replace the default Sale flash."}},"plugin_section":[],"plugin_tags":[173988,75741,186632,286,185322],"plugin_category":[45],"plugin_contributors":[259418,279548],"plugin_business_model":[],"class_list":["post-373218","plugin","type-plugin","status-publish","hentry","plugin_tags-product-badges","plugin_tags-product-labels","plugin_tags-sale-badge","plugin_tags-woocommerce","plugin_tags-woocommerce-badges","plugin_category-ecommerce","plugin_contributors-devhasib","plugin_contributors-webtendhq","plugin_committers-devhasib"],"banners":{"banner":"https:\/\/ps.w.org\/storzen-product-badge-rules-for-woocommerce\/assets\/banner-772x250.png?rev=3724126","banner_2x":"https:\/\/ps.w.org\/storzen-product-badge-rules-for-woocommerce\/assets\/banner-1544x500.png?rev=3724126","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/storzen-product-badge-rules-for-woocommerce\/assets\/icon-256x256.png?rev=3724126","icon_2x":"https:\/\/ps.w.org\/storzen-product-badge-rules-for-woocommerce\/assets\/icon-256x256.png?rev=3724126","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/storzen-product-badge-rules-for-woocommerce\/assets\/screenshot-1.png?rev=3724126","caption":"Product badges on the WooCommerce shop page: sale, new, low stock, hot and sold out."},{"src":"https:\/\/ps.w.org\/storzen-product-badge-rules-for-woocommerce\/assets\/screenshot-2.png?rev=3724126","caption":"Sale badge with the {pct} discount token on a single product page."},{"src":"https:\/\/ps.w.org\/storzen-product-badge-rules-for-woocommerce\/assets\/screenshot-3.png?rev=3724126","caption":"All Badges list: manage rule, position, priority, schedule and status."},{"src":"https:\/\/ps.w.org\/storzen-product-badge-rules-for-woocommerce\/assets\/screenshot-4.png?rev=3724126","caption":"Badge editor with live preview, colour pickers, shapes and an 8-point position grid."},{"src":"https:\/\/ps.w.org\/storzen-product-badge-rules-for-woocommerce\/assets\/screenshot-5.png?rev=3724126","caption":"Display settings: choose where badges appear and replace the default Sale flash."}],"raw_content":"<!--section=description-->\n<p><strong>Product Badge Rules for WooCommerce<\/strong> adds smart product badges and labels to your online store, automatically. Instead of editing every product by hand or uploading static images, you create a badge once, pick a rule, and the plugin shows it on the right products by checking live WooCommerce data on every page load.<\/p>\n\n<p>Show a <strong>\"Save 30%\" sale badge<\/strong> with the real discount, a <strong>\"New\"<\/strong> label on fresh arrivals, an <strong>\"Only 3 left\"<\/strong> low stock badge, a <strong>\"Sold Out\"<\/strong> badge, a <strong>Featured<\/strong> label, or a <strong>Hot<\/strong> badge on your best sellers. Badges appear on your shop page, category pages and single product pages, and update themselves when prices, stock or sales change.<\/p>\n\n<h4>Why store owners choose it<\/h4>\n\n<ul>\n<li><strong>Set it once, it runs itself<\/strong> \u2013 badges follow your WooCommerce data, so they are never out of date.<\/li>\n<li><strong>Boost conversions<\/strong> \u2013 sale, urgency and social-proof labels draw attention to the products that matter.<\/li>\n<li><strong>Lightweight<\/strong> \u2013 pure CSS badges, no JavaScript on the front end, one database query per page.<\/li>\n<li><strong>Looks good with any theme<\/strong> \u2013 choose colours, shape and position to match your brand.<\/li>\n<\/ul>\n\n<h4>Six built-in product badge rules<\/h4>\n\n<ul>\n<li><strong>On Sale badge<\/strong> \u2013 appears automatically when a product is on sale. Use the <code>{pct}<\/code> token to show the exact discount, for example \"Save 30%\".<\/li>\n<li><strong>New Arrival badge<\/strong> \u2013 highlights products published in the last X days (default 30).<\/li>\n<li><strong>Featured badge<\/strong> \u2013 labels the products you marked as featured in WooCommerce.<\/li>\n<li><strong>Low Stock badge<\/strong> \u2013 appears when stock is at or below your threshold. Use the <code>{qty}<\/code> token to show the quantity left, for example \"Only 3 left!\".<\/li>\n<li><strong>Out of Stock badge<\/strong> \u2013 clearly flags products that are unavailable.<\/li>\n<li><strong>Hot Seller badge<\/strong> \u2013 based on total WooCommerce sales count with a minimum you control.<\/li>\n<\/ul>\n\n<h4>Badge designer<\/h4>\n\n<ul>\n<li>Custom label text with dynamic <code>{pct}<\/code> and <code>{qty}<\/code> tokens<\/li>\n<li>Background and text colour pickers<\/li>\n<li>Four shapes: rounded, square, circle and ribbon<\/li>\n<li>Eight positions on the product image (corners, edges and centre points)<\/li>\n<li>Optional start and end dates, so you can schedule badges for Black Friday, seasonal sales or launches<\/li>\n<li>Priority order, so you control which badge wins when more than one rule matches<\/li>\n<li>Live preview while you edit<\/li>\n<\/ul>\n\n<h4>Built for speed<\/h4>\n\n<ul>\n<li>A single database query loads all active badges<\/li>\n<li>Two-layer cache: in-memory per request plus a WordPress transient<\/li>\n<li>Pure CSS rendering, zero front-end JavaScript<\/li>\n<li>Styles load only on WooCommerce shop, category, tag and product pages<\/li>\n<li>Compatible with WooCommerce High-Performance Order Storage (HPOS)<\/li>\n<\/ul>\n\n<h4>More features<\/h4>\n\n<ul>\n<li><strong>Replace the default WooCommerce \"Sale!\" flash<\/strong> \u2013 one toggle hides the standard sale bubble when a sale badge from this plugin is active, so you never see two badges on one product.<\/li>\n<li><strong>Badges column in the product list<\/strong> \u2013 see at a glance which products currently show a badge in your WP Admin products table.<\/li>\n<li><strong>Choose where badges show<\/strong> \u2013 turn them on or off for shop and archive pages and for single product pages.<\/li>\n<li><strong>Clean uninstall<\/strong> \u2013 removes its data when you delete the plugin.<\/li>\n<\/ul>\n\n<h4>For developers<\/h4>\n\n<ul>\n<li>Filter <code>badgify_render_badge<\/code> to hide a specific badge in code<\/li>\n<li>Filter <code>badgify_rule_map<\/code> to register your own custom rule types<\/li>\n<li>Template override: copy <code>templates\/badge.php<\/code> from the plugin to <code>your-theme\/badgify\/badge.php<\/code> to change the badge HTML<\/li>\n<li>Namespaced PHP, GPL-2.0-or-later<\/li>\n<\/ul>\n\n<h4>Pro version<\/h4>\n\n<p>The free version shows one badge per product (the highest-priority match). A Pro version adds multi-badge stacking and more advanced options. <a href=\"https:\/\/storzen.com\/plugins\/badgify\">Learn more<\/a><\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>This plugin does not collect, store or transmit any personal data from your visitors. Badge logic runs on your server using existing WooCommerce product data.<\/p>\n\n<h3>Third Party Services<\/h3>\n\n<p>This plugin does not connect to any external or third-party services. All processing happens on your own WordPress installation.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Make sure WooCommerce is installed and active.<\/li>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install it from <strong>Plugins &gt; Add New<\/strong> by searching for \"Storzen Product Badge Rules\".<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Open the <strong>Badgify<\/strong> menu in your admin sidebar and go to <strong>All Badges<\/strong> to create or edit your badges.<\/li>\n<li>Visit your shop page to see the badges in action.<\/li>\n<\/ol>\n\n<p>Requires WooCommerce 8.0 or higher.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20add%20a%20sale%20badge%20with%20the%20discount%20percentage%20in%20woocommerce%3F\"><h3>How do I add a sale badge with the discount percentage in WooCommerce?<\/h3><\/dt>\n<dd><p>Create a badge with the <strong>On Sale<\/strong> rule and set the label to something like <code>Save {pct}<\/code>. The <code>{pct}<\/code> token is replaced with the real discount, for example \"Save 30%\".<\/p><\/dd>\n<dt id=\"how%20do%20i%20show%20a%20%22low%20stock%22%20or%20%22only%20x%20left%22%20badge%3F\"><h3>How do I show a \"low stock\" or \"only X left\" badge?<\/h3><\/dt>\n<dd><p>Create a badge with the <strong>Low Stock<\/strong> rule and use a label such as <code>Only {qty} left!<\/code>. The badge appears when stock reaches your threshold, which you can set per badge or globally under <strong>Rule<\/strong>.<\/p><\/dd>\n<dt id=\"can%20i%20show%20a%20%22new%22%20badge%20on%20recently%20added%20products%3F\"><h3>Can I show a \"New\" badge on recently added products?<\/h3><\/dt>\n<dd><p>Yes. Use the <strong>New Arrival<\/strong> rule and choose how many days a product counts as new. The default is 30 days.<\/p><\/dd>\n<dt id=\"can%20i%20schedule%20a%20badge%20for%20a%20sale%20or%20holiday%3F\"><h3>Can I schedule a badge for a sale or holiday?<\/h3><\/dt>\n<dd><p>Yes. Each badge has optional <strong>Active From<\/strong> and <strong>Active Until<\/strong> dates. Outside that window the badge is hidden automatically.<\/p><\/dd>\n<dt id=\"can%20i%20show%20multiple%20badges%20on%20one%20product%3F\"><h3>Can I show multiple badges on one product?<\/h3><\/dt>\n<dd><p>In the free version, one badge (the highest-priority match) is shown per product. Multi-badge stacking is part of the Pro version.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20variable%20products%3F\"><h3>Does it work with variable products?<\/h3><\/dt>\n<dd><p>Yes. Sale detection, stock levels and the other rules work with simple and variable products.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20store%3F\"><h3>Will it slow down my store?<\/h3><\/dt>\n<dd><p>No. All active badges are loaded with one database query, cached, and evaluated in memory. There are no per-product queries on the front end and no front-end JavaScript.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Does it work with HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares compatibility with WooCommerce HPOS.<\/p><\/dd>\n<dt id=\"which%20themes%20does%20it%20work%20with%3F\"><h3>Which themes does it work with?<\/h3><\/dt>\n<dd><p>Badges are added through the standard WooCommerce hooks <code>woocommerce_before_shop_loop_item_title<\/code> and <code>woocommerce_before_single_product_summary<\/code>, so it works with themes that use the default WooCommerce product loop and single product templates. Product layouts built entirely with block-based product collections may not fire these hooks.<\/p><\/dd>\n<dt id=\"i%20see%20two%20sale%20badges.%20how%20do%20i%20remove%20the%20default%20one%3F\"><h3>I see two sale badges. How do I remove the default one?<\/h3><\/dt>\n<dd><p>Open <strong>Display<\/strong> and enable <strong>Replace WooCommerce Sale Flash<\/strong>. The default \"Sale!\" bubble is hidden whenever a sale badge from this plugin is shown.<\/p><\/dd>\n<dt id=\"badges%20appear%20behind%20my%20product%20image.%20how%20do%20i%20fix%20it%3F\"><h3>Badges appear behind my product image. How do I fix it?<\/h3><\/dt>\n<dd><p>Increase <strong>Badge Z-Index<\/strong> under <strong>Display<\/strong>.<\/p><\/dd>\n<dt id=\"how%20do%20i%20customise%20the%20badge%20html%3F\"><h3>How do I customise the badge HTML?<\/h3><\/dt>\n<dd><p>Copy <code>templates\/badge.php<\/code> from the plugin folder to <code>your-theme\/badgify\/badge.php<\/code>. The plugin uses your copy automatically.<\/p><\/dd>\n<dt id=\"what%20do%20the%20%7Bpct%7D%20and%20%7Bqty%7D%20tokens%20do%3F\"><h3>What do the {pct} and {qty} tokens do?<\/h3><\/dt>\n<dd><p>{pct} becomes the discount percentage on On Sale badges, for example \"30%\". <code>{qty}<\/code> becomes the current stock quantity on Low Stock badges, for example \"3\".<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Six badge rules: on sale (<code>{pct}<\/code>), new arrival, featured, low stock (<code>{qty}<\/code>), out of stock, hot seller.<\/li>\n<li>Badge designer with colour pickers, four shapes, eight positions, scheduling and priority.<\/li>\n<li>Live badge preview in the editor.<\/li>\n<li>Option to replace the default WooCommerce sale flash.<\/li>\n<li>Badges column in the WP Admin product list.<\/li>\n<li>Two-layer caching (in-memory and transient).<\/li>\n<li>WooCommerce HPOS compatibility.<\/li>\n<li>Theme template override and <code>badgify_rule_map<\/code> \/ <code>badgify_render_badge<\/code> developer filters.<\/li>\n<\/ul>","raw_excerpt":"Automatic WooCommerce product badges: sale % off, new arrival, low stock, out of stock, featured and hot seller. Rule-based, fast, no coding.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/373218","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=373218"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/devhasib"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=373218"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=373218"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=373218"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=373218"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=373218"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=373218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}