How To Change Sale Badge In Woocommerce

I would like to share a helpful tip I recently discovered about modifying the sale badge in WooCommerce. Although I am a frequent user of this widely used e-commerce platform, I have always found the default sale badge to be monotonous and unoriginal. After some research, I came across a solution that enables you to personalize the sale badge according to your brand’s aesthetic. Let’s delve into the process and see how it can be done!

Step 1: Understanding the Sale Badge

Before we begin, let’s quickly understand what the sale badge is and where it is located. In WooCommerce, the sale badge is a small notification that appears on product thumbnails to indicate that a product is on sale. By default, it displays the percentage discount applied to the product. Our goal is to modify this badge to make it more visually appealing.

Step 2: Finding the Right Hook

To change the sale badge, we’ll need to modify the code that generates it. WooCommerce provides a variety of hooks and filters that allow developers to customize the platform’s functionality. In this case, we’re looking for a hook that specifically targets the sale badge.

After some exploration in the WooCommerce documentation, I found that the woocommerce_sale_flash hook is the perfect candidate for our task. This hook is responsible for generating the HTML markup for the sale badge. By tapping into this hook, we can inject our own code and replace the default badge with our custom design.

Step 3: Adding Personalized CSS

Now that we have identified the correct hook, it’s time to add our own CSS code to customize the sale badge. You can do this by adding a few lines of code to your theme’s CSS file or using a custom CSS plugin. Here’s an example of what the CSS code might look like:

.sale-badge {
background-color: #ff0000;
color: #ffffff;
padding: 5px 10px;
border-radius: 5px;

In this example, I’ve chosen a bright red background color and white text color for the sale badge. You can play around with the values to match your brand’s color scheme and style. Feel free to get creative!

Step 4: Implementing the Code

Now that we have our CSS code ready, it’s time to implement it using the woocommerce_sale_flash hook. Here’s an example of how you can do it in your theme’s functions.php file:

function custom_sale_flash() {
echo 'On Sale!';
add_action( 'woocommerce_sale_flash', 'custom_sale_flash' );

By adding this code snippet to your theme’s functions.php file, you’re telling WooCommerce to call the custom_sale_flash function whenever the sale badge needs to be generated. Inside this function, we’re simply echoing the HTML markup for our custom sale badge.


Changing the sale badge in WooCommerce is a simple yet effective way to add a personal touch to your online store. By utilizing the woocommerce_sale_flash hook and some personalized CSS, you can create a sale badge that aligns with your brand’s identity. Don’t be afraid to experiment and make it unique!