How to create a WooCommerce daily order form with multiple quantity inputs

August 10, 2020 19 comments

If you run a WooCommerce store where you deliver different items or quantities depending on the day of the week, you might want to create a WooCommerce daily order form. I’m going to show you how to set one up.

Customers can select multiple quantity inputs per product for each day of the week. This makes it easy to create their entire weekly order on either a one-off or recurring basis.

woocommerce daily order form example

This approach is something you’ll commonly see with delivery food services. For example:

  • Bakeries Customers might want to set up a recurring order for a certain baked food, with different values each day.
  • Coffee deliveryIf you deliver coffee to businesses, you might need a system where businesses can choose how many containers they want to be delivered each day.
  • Meal delivery services Whether you sell to individuals, schools or offices, you might want to let customers order a certain quantity for each day in advance or on a subscription basis. This works for normal restaurants, as well.

In this article, you’re going to learn how you can use a WooCommerce daily order form with multiple quantity inputs per product to let your customers choose how many items they want to order for each day of the week.

You’ll also be able to make these either one-off orders or ongoing subscriptions, depending on your needs.

But first, I’ll explain how your customers will use your days-of-the-week order form to place a one-off or regular order for each day.

How your WooCommerce daily order form will function

Your order form will feature a separate quantity field for each product for each day of the week. Here’s how your customers will use it…

First, they’ll use the form to enter the quantity they want for each day. As they add a quantity to each day, the order form will automatically tally up the total for their order:

in action

Once they click Add to Cart, or Set Up Weekly Delivery, they’ll be able to view their cart. In their cart, they’ll see a summary of their order (note the difference between one-off orders and subscriptions):

Checkout page

And then they can complete the checkout process as normal.

Next, I’ll explain exactly how you can create a weekly order form to take daily orders from your own WooCommerce store. I’ll reveal which plugins you need, with full step-by-step instructions on how to set it up.

Let’s get started!

How to create a WooCommerce daily order form with multiple quantity inputs

Since this article is about WooCommerce, we’ll assume that you already have WordPress and WooCommerce installed on your site.

Beyond those bare minimums, here’s what you’ll need to create a WooCommerce daily order form:

  • WooCommerce Product Table – required This plugin lets you create a flexible table that includes any of your WooCommerce products. It’s what you’ll use to create the actual order form so that shoppers can see multiple products on one page.
  • WooCommerce Product Add-ons – required You’ll use this plugin to create a separate text entry field for each day of the week so that customers can choose a daily quantity for each product.
  • WooCommerce Subscriptions – optional If you want to let customers set up automatic recurring orders, you’ll need WooCommerce Subscriptions. But if you’re ok with having your customers manually place their order each week, you don’t need it.

Now, I’ll show you step-by-step how to create the order form the example above. The only thing I will assume is that you already have WooCommerce installed and configured, as well as the required plugins from the list above.

Step 1: Add products and configure them the right way

Ok, the first step is to add your offerings as Woo products and get them properly configured.

To begin, go to Products → Add New as normal. Fill in the core details just like you would any other product. That is, enter the product:

  • Title
  • Image
  • Description
  • Etc.

Once you’ve filled out all the basic information, it’s time to configure the Product data box. This is where you’ll need to do things a little differently to make things work.

Configuring the product data box

For this first example, I’m going to show you how to configure things for a one-off order. In the next section, I’ll share how to adapt it to subscription orders.

First, choose Simple product from the dropdown. Then, set the Regular price equal to 0. Yes – zero. Don’t worry – you’ll hide the price column on your order form so that shoppers never see this information:

Create simple product

Because you’re making the product’s price 0, it’s important that you don’t display the normal WooCommerce catalog so shoppers can’t access the 0 price item. Or, if you do still need to use the regular catalog, you can hide these products from the public parts of your store. For example, schools might need to create a private area for taking orders for school dinners. 

Next, go to the Inventory tab and check the box for Sold individually. This will remove the quantity field for the Woo product itself so that your shoppers only see the add-on quantity fields for each day of the week:

Sell individually

Then, go to the Add-ons tab in the Product data box and click New add-on (you’ll only see this tab if you’ve activated the WooCommerce Product Add-ons plugin):

Create new add-on

Then, select Quantity from the dropdown and add the price for each item. This will multiple up depending on the quantity selected. So, if the item price is ‘$5’ and the customer selects 2, then the price will be multiplied up to ‘$10’:

Add-Ons Quantity Field

Once you’ve done that:

  • Enter something like “Day Of The Week” for the Name (this will display on the checkout page, but not on the weekly order form).
  • Do not check the Required Fields option (unless you want to force customers to purchase this product each day).
  • Enter something like “Choose which days you would like this product delivered” in the Description field. (This message will display on your order form.)
  • Use the New Option button to create an option for each day of the week.
  • Enter the unit price of your item in the Price column for each day of the week.
  • Enter 0 in the Min column for each day of the week.

It should look something like this:

Create add-ons for each day

And that’s it! Make sure to publish your product. Then, repeat the process for all the items you want to include in your WooCommerce weekly order form.

What if you want people to order on a recurring basis?

If you want to have people sign up for a recurring subscription instead of a one-time purchase for each week, the process is almost identical. You just need to change one thing.

Remember – you will need the WooCommerce Subscriptions plugin to do this.

Once you have that installed, all you need to do is change the Product type to Simple Subscription. Then:

  • Enter 0 for the Subscription price (when users choose the day of the week, it will add that price to the subscription charge).
  • Use the dropdowns to choose the duration of the subscription.
  • Enter 0 for the Sign-up fee.

It should look something like this:


Then, perform the other steps shown in the section above.

I would also recommend that you go into the WooCommerce Subscriptions text and change the Add to Cart Button Text to something like “Set Up Weekly Delivery”, as it will be more user-friendly for your shoppers:

Edit subscribe button

Step 2: Create a daily order form with WooCommerce Product Table

At this point, you’ve already done the heavy lifting! Now, to finish things out, you just need to create the actual WooCommerce daily order form using WooCommerce Product Table.

WooCommerce Product Table
The easy way to take daily orders of WooCommerce products.

To do that, all you need is to add the WooCommerce Product Table shortcode to the page where you want your order form to appear. If you go to the plugin settings page at WooCommerce → Settings → Products → Product Tables, you’ll find dozens of options to configure your weekday order forms. Check out this article to learn about all the available options:

See all WooCommerce Product Table shortcode options

But to save you time, here’s a quick shortcode that you can use to create the exact order form shown in my screenshots:

[product_table category="bread" columns="image:Product,name:Product Name,add-to-cart:Delivery Schedule" show_quantity="true" page_length="false" sort_by="date" sort_order="asc" widths="25,15,60" image_size="medium" links="false"]

Make sure to change category="bread" to the actual category of products you want to display. Or, if you want to display all products, you can remove this parameter.

If you want to divide your order form into different sections, you can include multiple shortcodes on the page, with each shortcode displaying a different category of products:

Multilpe shortocde

If needed, you can also edit the columns option to include more, or less, information in the daily order form. Similarly, you can change the column headings.

Learn more about column options

To finish things out, make sure to Publish your WP page.

Step 3: Tidy up your order form with WooCommerce quick view (optional)

As you can see from the screenshots showing the daily order form in action, having a separate field for each day takes up quite a bit of space:

woocommerce daily order form example

That’s fine if you have a relatively small number of products. However, you might want to tidy up the daily order form so that each product takes up less vertical space.

WooCommerce Product Table Quick View Magnifying Glass
Add quick view buttons to the WooCommerce daily order form.

You can do this by using WooCommerce Product Table with our other plugin, WooCommerce Quick View Pro. This allows you to remove the add to cart column from the daily order form, and replace it with a ‘quick view’ column. (You can rename the quick view buttons to anything you like, such as ‘Make My Selections’ or ‘Choose Daily Options’.)

Customers click on the quick view buttons to view the daily options that you created in Step 1 in a lightbox popup. They enter their selection for each day, click add to the cart, and then return to your WooCommerce daily order form where they can add more products.

It’s an excellent way to keep customers on the daily order form page, without being taken to a separate page for each product. But at the same time, you can keep the order form clean and minimal. It’s the best of both worlds.

WooCommerce Quick View
Let customers choose their daily orders from a quick view lightbox.

WooCommerce Quick View Pro is the only WordPress quick view plugin that is specifically designed to work with WooCommerce Product Table and Product Add-Ons. They’re the perfect combination.

Create your WooCommerce daily order form today!

By using multiple quantity fields for each day of the week, you can make it easy for customers to order different quantities depending on the day of the week.

Remember – for one-off weekly orders, all you absolutely need is WooCommerce Product Table and WooCommerce Product Add-ons – plus WooCommerce Quick View Pro, if required. And if you want to tack on recurring orders, you can add in WooCommerce Subscriptions to manage that.

WooCommerce Product Table
The easy way to take daily orders of WooCommerce products.

Have any other questions about implementing a WooCommerce daily order form like this? Let us know in the comments!

Colin Newcomer

Colin Newcomer is a freelance WordPress writer for hire with a background in SEO and affiliate marketing. He helps clients grow their web visibility by writing primarily about digital marketing and WordPress. You can hire him to write for your website.


  1. Hana
    July 16, 2020 Reply

    Hi - wondering if we can change the layout of the template in child themes? (not just css) - thanks!

    • Nikki
      July 20, 2020 Reply

      Hello, Hana! Please, could you give us more information about what you're trying to do? Alternatively, you can also get in touch with us via our dedicated Support Center and we'll be happy to advise on the best way to do it while using our plugin(s).

Please share your thoughts...

Your email address will not be published.