WooCommerce Shop Page Not Showing Sale Badges? Here’s How to Fix It
Table of Contents
- Introduction
- Why Sale Badges Matter in WooCommerce
- Common Reasons Why WooCommerce Sale Badges Don’t Show
- How to Check If the WooCommerce Sale Badge Exists but Is Hidden
- When Visibility Problems Come from Page Builders or Custom Layouts
- How to Fix the WooCommerce Sale Badge Not Showing
- When It’s a Variation Product Glitch
- Customize Your WooCommerce Sale Badges for Better Visibility
- Recommended Plugins to Manage and Style Sale Badges
- When to Contact a Developer or WooCommerce Support
- Conclusion
Introduction
Sale badges are an essential feature in any WooCommerce store. They help highlight discounts and grab the customer’s attention. When a product is on sale, the badge shows how much the buyer can save. It builds urgency and improves conversion rates.
But what if your WooCommerce shop page is not showing the sale badge?
Many store owners face this issue. You add a sale price to a product, but the WooCommerce sale badge is not showing. This is frustrating, especially during promotions or seasonal campaigns.
This guide will help you solve the problem. We’ll explain why your sale badges are not showing. We’ll also show you how to fix the issue and make them visible again.
Why Sale Badges Matter in WooCommerce
A sale badge is a small label that appears on discounted products. It often says “Sale” and is shown on both shop and product pages. This badge is also known as the WooCommerce sale flash.
Here’s why these badges are important:
- Grab attention quickly: They highlight discounted items right away.
- Create urgency: Customers feel they may miss out if they delay.
- Improve conversions: Shoppers are more likely to click on products with deals.
- Boost average order value: Customers buy more when they see savings.
Without the sale badge, shoppers may not notice that a product is on discount. This can lead to missed sales and lower revenue.
If your WooCommerce discount badge is not showing, it can affect your store’s performance. That’s why it’s important to fix it right away.
Common Reasons Why WooCommerce Sale Badges Don’t Show
There are several possible reasons your sale badge is not appearing. Below are the most common causes.
- Theme Conflicts
Some themes override default WooCommerce settings. A poorly coded or highly customized theme may hide sale badges by mistake. This is a very common issue.
- CSS or Styling Issues
Your sale badge may be on the page, but hidden with CSS. For example:
- display: none;
- opacity: 0;
- Wrong z-index layer
You can use browser tools to check if the badge is hidden this way.
- Outdated WooCommerce or Theme Files
Old template files may not support the current WooCommerce version. This can break features like the sale flash badge.
- Custom Product Loops
If a developer has built custom loops, they may not have added the sale badge code. In this case, the badge will not appear on the shop page.
- Variable Product Sale Not Applied Properly
Sale badges don’t always show for variable products unless all variations are on sale. If only one size or color is discounted, the badge may not appear.
- Plugin Conflicts
Certain plugins, especially optimization or caching tools, can block the badge. Some page builders or performance plugins can also interfere with the display.
How to Check If the WooCommerce Sale Badge Exists but Is Hidden
Using Browser Tools to Inspect the Sale Badge
Sometimes, the WooCommerce sale badge is on the page, but it’s hidden. This often happens due to styling issues or theme design choices. To find out if it exists, you can inspect your website using browser tools.
Here’s how to do it:
- Open your shop page in Google Chrome.
- Right-click on a product and choose Inspect.
- Look for the class named .onsale.
If the sale badge code is present but not visible, it may be hidden by CSS. This means the badge is there, but the browser doesn’t show it.
Common CSS issues that hide sale badges:
- display: none;
- visibility: hidden;
- opacity: 0;
- z-index set too low or covered by another element
These styles can make the badge disappear visually, even though the code still loads.
If you see these styles in your badge element, you’ve likely found the issue.
How to Confirm the Badge Is Hidden and Not Missing
Here are steps to confirm the badge is hidden and not completely missing:
- Check if the .onsale HTML is in the product’s markup.
- Look for styles in your CSS file or theme that might hide it.
- Disable any custom CSS temporarily to test visibility.
- Resize the browser window or check on mobile. Sometimes badges shift offscreen.
If the badge does not appear in the code at all, then it’s likely being removed by a theme or plugin. But if it’s there and just hidden, you can fix it with simple CSS.
Here’s an example of CSS you can try:
.onsale {
display: block !important;
opacity: 1 !important;
position: relative;
z-index: 99;
}
This style ensures the badge is visible and stacked above other elements.
When Visibility Problems Come from Page Builders or Custom Layouts
Some WooCommerce stores use page builders like Elementor or WPBakery. These tools sometimes create custom layouts that skip default WooCommerce hooks. If the sale badge is not hooked into the custom design, it won’t show up.
Other layout tools may also accidentally cover the badge with other content blocks. That’s why checking your badge visibility in different screen sizes is important.
How to Fix the WooCommerce Sale Badge Not Showing
If your WooCommerce sale badge is not showing, don’t worry. This part will walk you through the most effective fixes. These steps are beginner-friendly and apply to most themes and setups.
- Switch to a Default Theme to Test Compatibility
Start by switching to a default WooCommerce theme, like Storefront. This will help you check if your active theme is the problem.
Here’s how:
- Go to Appearance > Themes
- Activate Storefront or another default theme
- View your shop page and see if the sale badge appears
If the WooCommerce shop page shows the sale badge now, the issue is with your custom theme.
This means your current theme is either:
- Overriding WooCommerce templates
- Hiding the badge using custom code or CSS
- Re-add the Sale Badge Using a WooCommerce Hook
If a developer created a custom product loop or template, the badge hook might be missing. You can add it back manually.
Here’s the code to use:
add_action(‘woocommerce_before_shop_loop_item_title’, ‘woocommerce_show_product_sale_flash’, 10);
Add this snippet to your child theme’s functions.php file. This will make sure the sale badge appears before the product title.
- Check and Update Template Files
WooCommerce uses template files to show product content. If your theme includes outdated templates, the sale badge may not load.
Steps to fix this:
- Go to WooCommerce > Status > Templates
- Look for any outdated templates
- Update the files or switch to a newer theme version
You can also copy content-product.php to your child theme. Then, make sure the sale badge function is included.
- Use CSS to Fix Hidden Badges
If the badge exists but is not visible, simple CSS can fix it.
Try adding this code to your theme’s Custom CSS section:
.onsale {
display: block !important;
opacity: 1 !important;
position: relative;
z-index: 99;
}
This ensures the badge is visible on all devices and screen sizes.
Sometimes, the badge is there but gets pushed behind other elements. This CSS helps bring it to the front.
- Disable Conflicting Plugins One by One
Plugins can sometimes conflict with WooCommerce features. Optimization, page builder, or caching plugins may block or remove badge elements.
To test for conflicts:
- Deactivate all plugins except WooCommerce
- Refresh your shop page
- Check if the WooCommerce sale flash badge is showing
If it does, reactivate your plugins one at a time. As soon as the badge disappears again, you’ll know which plugin caused the issue.
- Fix Variable Product Sale Badge Issue
WooCommerce treats variable products differently. If only one variation is on sale, the badge may not appear on the shop page.
To fix this:
- Make sure all variations have a sale price
- Or use a plugin that forces the sale badge to show
Some store owners also use custom code to display the lowest sale price variation. That helps trigger the badge for variable products.
When It’s a Variation Product Glitch
Sale badges often don’t show for variable products, even when they are on sale. This is because WooCommerce only shows the badge if all variations (like size or color) have a sale price set.
If only one variation is discounted, the badge might not appear on the shop page.
Here’s how to fix it:
- Make sure all variations have a sale price
- Use a plugin that forces sale badges for variable products
- Consider custom code to show sale on the cheapest variation
This small fix can help recover visibility for your best-selling variations.
Customize Your WooCommerce Sale Badges for Better Visibility
Once your WooCommerce sale badge is showing, it’s time to make it stand out. A plain “Sale” label may go unnoticed by some customers. Customizing your badge can improve click-throughs and boost conversions.
Here are a few easy ways to improve badge visibility:
- Change the badge text from “Sale” to something more exciting like:
- “Hot Deal”
- “Limited Time”
- “Save Now”
- Use bold colors like red or orange to grab attention
- Move the badge position using CSS or a plugin (e.g., bottom-right or center)
You can also add styling using this sample CSS:
.onsale {
background-color: #e63946;
color: white;
font-weight: bold;
border-radius: 5px;
padding: 5px 10px;
}
This makes the badge more noticeable and improves user experience.
Recommended Plugins to Manage and Style Sale Badges
If you want advanced customization, several WooCommerce plugins can help. These tools offer features like custom shapes, animation, and scheduling badge visibility.
Here are three top-rated plugins for sale badges:
- YITH WooCommerce Badge Management
- Add custom badges to specific products
- Choose badge positions and designs
- Supports scheduled badge display
- Woo Badge Designer
- Offers over 30 badge styles
- Lets you display percentage discounts
- Works well with most themes
- Advanced Woo Labels
- Create multiple badge types
- Add labels based on conditions (e.g., stock status, categories)
- Easy drag-and-drop interface
These plugins are user-friendly and require no coding.
When to Contact a Developer or WooCommerce Support
Sometimes, sale badge issues are hard to fix without technical help. You may need to contact a developer or WooCommerce support if:
- Your site uses a heavily customized theme
- WooCommerce core files were edited directly
- You’ve tried all fixes and the badge still doesn’t appear
A qualified developer can review your theme’s structure, hooks, and styling. They can make sure everything is working correctly without breaking your site.
You can also reach out to your theme or plugin support team if you suspect a conflict.
Conclusion
A missing WooCommerce sale badge may seem like a small issue, but it can seriously impact your store’s performance. From lower visibility to missed discounts, these problems can cost you valuable conversions. Thankfully, most issues can be solved with a few simple steps like adjusting your theme, fixing hooks, or updating your CSS.
If you’ve tried everything and the badge is still not appearing, don’t worry—you’re not alone. WooHelpDesk is here to assist with expert WooCommerce support and troubleshooting. Whether it’s a badge issue or a deeper theme conflict, we’re ready to help.
📞 Need personalized help? Call WooHelpDesk now at +1 888 602 0119 (US & Canada)
We’ll get your sale badges back where they belong—boosting your sales and grabbing attention.

