Skip to content
GPLWP Guides

How to add product badges in WooCommerce

WooCommerce Time About 20–30 minutes Updated 25 Sep 2026

WOOCOMMERCE
The short answer

WooCommerce includes a basic sale badge, but custom labels such as New, Bestseller or Low stock need custom code or a badge plugin. Use a small code snippet for one simple label; use a plugin when badges need conditions, scheduling, styling or bulk management.

What you need

  • A WooCommerce store on WordPress
  • Administrator access to WordPress
  • A recent backup or staging site
  • A child theme or code-snippet tool for the manual route
The fast route

Let WPC Badge Management for WooCommerce do it

Condition-based badges for sales, new arrivals, stock, and attributes, with scheduling and custom styles.

Get WPC Badge Management for WooCommerce

Questions

Does WooCommerce have product badges built in?
WooCommerce has a built-in sale indicator, but it does not provide a general badge manager for labels such as New, Bestseller or Low stock. You can change the standard sale output with the <code>woocommerce_sale_flash</code> filter, while more advanced conditions normally require custom code or a dedicated extension.
Can I add a New badge without a plugin?
Yes, you can add a New badge with a PHP snippet that checks the product's publication date and outputs markup on the shop loop. Add the code through a child theme or code-snippet tool, not the parent theme. You must also add and maintain CSS, and the snippet may need adjustment if your theme uses custom product grids.
Why does my badge show on the shop page but not the product page?
Shop listings and individual product pages use different WooCommerce output locations. A badge added with <code>woocommerce_before_shop_loop_item_title</code> targets the product loop, while a single-product hook is needed for the product page. Page builders and block themes can also replace the usual markup, so test both views separately.
Can WooCommerce show more than one badge on a product?
Yes, but the result depends on your implementation. Custom code must output multiple elements and handle their order, while a badge extension may include a setting for multiple badges. Without a priority rule, Sale, New and Stock labels can overlap or hide one another, particularly on narrow screens.
How can I schedule a badge for a promotion?
Use a badge extension with date-based display rules. Create the badge, set the products or conditions it applies to, then enter the start and end dates. WooCommerce's normal sale pricing dates do not automatically create every type of custom badge, so a scheduled badge rule is more practical than maintaining temporary code.