How to show WooCommerce sale products in a slider
WooCommerce knows which products are on sale. It takes one block or one shortcode to show them. The rest is about keeping the row accurate, and being honest about the clock.
Sale products in a slider, with the old and the new price. Sample products.
A whole sale page
People search for a "woocommerce sale products page" because there is none by default. Make a normal page, add the Product Collection block, and choose the On Sale Products collection. Or in a classic setup, add [products on_sale="true" paginate="true"]. Put the page in your menu while a sale runs, and take it out when one ends, as an empty sale page looks poor.
A row or slider
The same collection in Product Collection can use the carousel layout, since version 10.2. If you want autoplay or an effect, our Product Slider has On sale as a source. The Sale strip pattern sets it on a strong colour for the top of the shop, and is free.
Schedule it, so it ends by itself
On each product, or in a bulk edit, set sale dates using "Schedule" beside the sale price. The sale then starts and ends on time, and every sale row and badge follows by itself, without anyone touching the page. A variable product is on sale if a variation is, so check what the row shows for those. Cached pages can lag behind a date change, so clear the cache as a sale starts or ends.
Countdowns: only real ones
A countdown that restarts for each visitor is a false statement, and in the EU, the UK and elsewhere consumer law takes an interest in fake urgency. A countdown should only read the real sale end date. Flash sale does that, with a stock bar that reads actual stock. If the sale has no end date, it shows no clock, which is the right behaviour.
Price displays in the EU
If you sell in the EU, the Omnibus rules require a price reduction to refer to the lowest price in the prior 30 days. WooCommerce does not handle that by itself. Check with whoever advises you on this, and consider a plugin for it if you run many sales.





