WooCommerce: How to Edit Product Prices in Bulk?

I’m pretty sure that during one of those Black Friday sales all you wanted to do was to apply a bulk discount to your WooCommerce products without having to generate a coupon code.

Let’s not forget that despite coupons are trackable and you can assess your marketing efforts with their usage statistics, requiring the user to take one additional step at checkout (entering the correct coupon code) reduces your sales conversion rate (the same applies with useless checkout fields by the way – less work to do, higher conversion rate).

In today’s post, we’ll see what are the 3 options I recommend in order to apply bulk store discounts. It pretty much depends on your product types (simple vs variable for example) and whether you want to do this via the settings or with a little bit of PHP.

1. Product Price Bulk Editing (WordPress Dashboard)

This is the easiest solution. You can just do this from the “Products” admin page of your WordPress dashboard.


  1. Go to the “Products” admin page
  2. Tick all the products you want to edit the sale price for
  3. Click on Bulk Actions > Edit
  4. Select Sale > “Change to:”
  5. Choose “Set to regular price decreased by fixed amount or %”
  6. Enter e.g. 30%
  7. Update

The problem is that this method only works for simple products, and it won’t change the pricing of variable, grouped or any product with price ranges (min – max).

2. Product Price Bulk Editing (Premium Plugins)

In case your store has many variable products (for example, a fashion WooCommerce store – where each product comes in different sizes, colors, styles…), then the above method won’t work for you.

Thankfully, there are plugins for that. As usual, I’ve chosen WooCommerce plugin vendors based on marketplace reputation, dedicated support quality, code cleanliness, long-term reliability and – probably almost as importantly – where the “people behind” the plugin are active supporters of the WordPress ecosystem.

a. Bulk Table Editor for WooCommerce

Sold on the official WooCommerce marketplace, Bulk Table Editor turns your product admin in an Excel-like product table. You have bulk functions for stock, price, sale price, sale start and end dates – as well as advanced search, filtering and paging functions.

You can also bulk delete products and variations by simply deleting rows in the plugin spreadsheet. It just makes it easy to move items to trash.

Besides, you can bulk clear sale prices and easily set up a bulk store offer in seconds.

Bulk edit WooCommerce products like nobody’s watching!

b. YITH WooCommerce Bulk Product Editing

With a single click, you can automatically apply the same bulk discount to variable and simple products. Or, you can filter by category or do an advanced search so you can find the correct products to edit:

The advanced product filter provided by YITH plugin

3. Programmatically Apply a Coupon (PHP Snippet)

This method is my favorite.

It requires a little PHP that must be placed in your child theme’s functions.php (here’s a free video lesson in case you don’t know how to override WooCommerce the right way).

In this case, the coupon will be automatically applied to the cart once a user goes to the WooCommerce Cart page.

First, you need to create the coupon from WordPress Dashboard > WooCommerce > Coupons. Make sure to set the coupon code with an overall % cart discount (and not a fixed amount), then write down the coupon code as you will need it for the PHP snippet.

After this is done, simply use this snippet: https://businessbloomer.com/woocommerce-apply-coupon-programmatically-product-cart/ (and exactly the “Apply a Coupon Programmatically for ALL Products” version – it’s the second snippet).

Enjoy 🙂

Related content

  • WooCommerce: Disable Variable Product Price Range $$$-$$$
    You may want to disable the WooCommerce variable product price range which usually looks like $100-$999 when variations have different prices (min $100 and max $999 in this case). With this snippet you will be able to hide the highest price, and add a “From: ” prefix in front of the minimum price. At the […]
  • WooCommerce: Hide Price & Add to Cart for Logged Out Users
    You may want to force users to login in order to see prices and add products to cart. That means you must hide add to cart buttons and prices on the Shop and Single Product pages when a user is logged out. All you need is pasting the following code in your functions.php (please note: […]
  • WooCommerce: How to Fix the “Cart is Empty” Issue
    For some reason, sometimes you add products to cart but the cart page stays empty (even if you can clearly see the cart widget has products in it for example). But don’t worry – it may just be a simple cache issue (and if you don’t know what cache is that’s no problem either) or […]
  • WooCommerce: “You Only Need $$$ to Get Free Shipping!” @ Cart
    This is a very cool snippet that many of you should use to increase your average order value. Ecommerce customers who are near the “free shipping” threshold will try to add more products to the cart in order to qualify for free shipping. It’s pure psychology. Here’s how we show a simple message on the […]
  • WooCommerce: Cart and Checkout on the Same Page
    This is your ultimate guide – complete with shortcodes, snippets and workarounds – to completely skip the Cart page and have both cart table and checkout form on the same (Checkout) page. But first… why’d you want to do this? Well, if you sell high ticket products (i.e. on average, you sell no more than […]

Rodolfo Melogli

Business Bloomer Founder

Author, WooCommerce expert and WordCamp speaker, Rodolfo has worked as an independent WooCommerce freelancer since 2011. His goal is to help entrepreneurs and developers overcome their WooCommerce nightmares. Rodolfo loves travelling, chasing tennis & soccer balls and, of course, wood fired oven pizza. Follow @rmelogli

33 thoughts on “WooCommerce: How to Edit Product Prices in Bulk?

  1. Hello. First method worked for me. Now the sale is ended. How do I return prices to the original prices only with no sale price?

    1. Maybe “Set to regular price decreased by 0%”?

  2. This free plugin allows you to bulk edit prices, sale prices and sale dates: https://wordpress.org/plugins/product-editor/

  3. How about a snippet to update “sale start date” and “sale end dates” for all products and variable products? Seems crazy to always have to change the sale start and end dates, even using the bulk table editor.

    1. Interesting, I’ll see what I can do

  4. First Method worked perfectly for me!
    Thanks for this great and simple article!

  5. This Bulk Discount is working for only a single product. not working for variable product.

    1. Thanks for your feedback!

  6. Hi! I’m trying number 1 (Product Price Bulk Editing (WordPress Dashboard) but after setting the discount to 30% and Clicking Update the discount becomes 100%. Am I writing it wrong? I’ve tried 30%, 30 %, 0.3 and -0.3 with the same result, unfortunately.

    1. Not sure I can help, sorry

      1. Hi Rodolfo,

        you have described how to do this above (1. Product Price Bulk Editing). I assume it worked when you wrote it? Has WoCommerce made changes so that this doesn’t work anymore? Does it work if you try, and if so, do you have another version of Woo? We have Version 4.5.2. Kind regards Caroline

        1. Yes it still works that way (I also added a screenshot to the blog a few minutes ago)

  7. Hello Rodolfo,
    I try the First step and I succed to decrease the prices in bulk by 10% but then when I wanted to return the prices like before (Increase them by 10%) it gives me different numbers because Ex: 10 – 10% = 9 but then 9+10%= 9.9 So can you help me to return the old prices back after the sale?

    1. Uhm, that’s not the plugin’s fault – it’s math 🙂 You decreased prices by “10/100” so try to increase them now by “100/90”

  8. Hi, I bought In Dollars and sell in my country’s own currency…. is very similar to what is described above… can be done? (like a rate update)

  9. Dear Rodolfo,
    My problem is nowhere addressed… I have a hundred products, all simple products and I want to schedule a regular price change. No discount, no sales period. Just update the product prices with the new price list, which should be valid at the 1st of December.
    But I want to do this in comfort. Not rush to update all prices at once at midnight of 30th of November.

    Do you have anything to suggest?
    Thank you in advance

    1. A direct database update through a sql query might be the best solution (and free) for me, as I am actually a database administrator.
      But I don’t know if there are any hidden references between wp tables that I should be aware of…

      1. Hey Konstantinos, sure, if you know how to manipulate a DB and schedule that at a given date, all you need to edit is the “_regular_price” cell of WP_POSTS table if I’m not wrong

  10. Hello Rodolfo,
    If I want to increase my prices in a bulk and I have alot of variations, what do you suggest?
    Thaks for taking the time to answer my question.

    1. Hi Nancy, try method #2

  11. Ciao Rodolfo,
    I see the plugin you recommend has had its last update on May ’18! Do you reckon it is safe to install on a WordPress 5.X.X version?

  12. Amazing work around for a sitewide discount, just what I was looking for!

    Any chance we can make this temporary? Like a countdown?

    1. Thank you Gina 🙂 If you’re talking about the first solution, in each product you can also define the “sale price dates”. However, I don’t know if you can set that up via bulk editing

  13. hi I do not see this code

    After this is done, simply use this snippet: https://businessbloomer.com/woocommerce-apply-coupon-programmatically-product-cart/ (and exactly the “Apply a Coupon Programmatically for ALL Products” version – it’s the second snippet).

    page links to coupon for 1 product only?

    1. Hey Lottie, thanks for your comment! You’re right – I’ve now re-added that snippet 🙂

  14. Hey Rodolfo 🙂
    Nice to see you again

    Would you know a plugin which allows to apply a discount for 10 pieces of the same product?
    For example, if I seel socks. One sock would cost $12. But I wanted to offer 10 socks for $100, on the product page. The customer would see an offer, just below the product price:
    “buy 10 for $100”

    thank you, best wishes 🙂

    1. Hello Martyna, good to hear from you 🙂 Yes, I recommend the following plugins:

      Hope this helps! 🙂

  15. Hey Rodolfo,
    thanks once again for sharing all these awesome tips.
    Is there an easy way to modify the 3rd variant to remove the coupon if “remove coupon” link is clicked? I love how this works, but would prefer to be able to remove the coupon if people want to manually use a different one.


    1. Hey Miroslav, thanks so much for your comment! Yes, this is possible – but unfortunately this is custom work and I cannot provide a complementary solution here via the blog comments. Thanks a lot for your understanding! ~R

Leave a Reply

Your email address will not be published. Required fields are marked *