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

October 5, 2020

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.

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 using a choice of two plugins – WooCommerce Product Table and WooCommerce Bulk Variations.

The daily order forms will have 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.

2 plugins for creating a daily order form

There are two easy ways to create a WooCommerce daily order form for your e-commerce store.

  1. The WooCommerce Product Table plugin works with the Product Add-Ons plugin to list multiple products in a table with a quantity box for each day of the week. This method works for one-off purchases and on-going subscriptions. It's ideal if you want to list multiple products in the same order form. For example, in the 'Method 1' screenshot above, we can see two separate products - each with a quantity box for each weekday.
  2. The WooCommerce Bulk Variations plugin, on the other hand, creates a grid showing the variations for a single product. This method works for one-off purchases. It's ideal if you want to set up all the options in the daily order form as variations of a single product. For example, in the 'Method 2' screenshot above, we can see one product with two attributes which are used for variations: one for 'Day of the week', and one for the different food items.

With both approaches, you create the daily order form by adding each food item as a different product or option, and then list them on the front-end each with their own quantity selectors. Customers can enter the quantity they’d like to purchase for each day of the week and place their orders.


Method 1: WooCommerce Product Table

Here, we'll explain how you can create daily order forms using the WooCommerce Product Table plugin. This is perfect for anyone looking to accept one-off orders or offer ongoing subscriptions.

How your WooCommerce daily order form will work

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 add 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.

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

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:

subscription

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.

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,buy: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.


Method 2: WooCommerce Bulk Variations

Here, we’ll show you how to create a daily order form using the WooCommerce Bulk Variations plugin. This is perfect if you’re looking to create an order form for one-off purchases.

WooCommerce Bulk Variations
Create a user-friendly daily order form for accepting one-off weekly orders.

How your WooCommerce daily order form will function

Customers can use the quantity selectors to enter the quantity they require of each attribute or variation. Once that’s done, they click the Add to Cart button to add the selected product variations in the correct quantities to their shopping cart and place their order.

Daily order form grid layout

Displaying product variations in a grid layout simplifies the user flow allowing users to quickly place their orders.

How to create a WooCommerce daily order form for one-off purchases

For this tutorial, we’ll assume you already have the WooCommerce plugin installed on your website. Aside from that, you’ll need to get the WooCommerce Bulk Variations plugin and install it on your website. This plugin lets you display product variations in a user-friendly grid layout.

Step #1: Create product attributes

The first thing you need to do is create attributes. Head over to ProductsAttributes from the WordPress admin panel to get started. Since we want to create a daily order form, we’ll create two attributes – Lunch and Days of the Week. If you offer breakfast and dessert options then you can create an attribute for that, as well.

Once that’s done, configure the terms for both attributes. For Lunch, you’ll need to add the food items you want to offer as lunch meals as individual terms. It will look something like this:

Attributes in WooCommerce

Similarly, configure the terms for the Days of the Week attribute. Add the days of the week you will deliver food on.

WooCommerce attributes

Step #2: Add a new WooCommerce product

Create a new WooCommerce product for presenting the different meal options for lunch. You might call it something like Lunch Menu. Scroll down to the Product data section and select the Variable product option using the dropdown.

Click on the Attributes tab and add both the Lunch attribute and the Days of the Week attribute. Click the Save attributes button to proceed.

Attributes tab in product data

Next, go to the Variations tab and use the dropdown to select the Create variations from all attributes option. Click the Go button.

You’ll notice that all of the product variations will be added automatically. You can expand each variation and enter a price for each food item. You can also offer special pricing on certain days of the week. For example, you can offer all meals for a special price on Fridays only. This is a great way to boost orders.

Step #3: Configure bulk variations settings

Click on the Bulk Variations tab to configure the WooCommerce Bulk Variation plugin's settings for the product.

WooCommerce Bulk Variations settings

Tick the checkbox next to the Enable variations grid option. Set the Horizontal option to Days of the Week using the dropdown and Vertical to Lunch.

Step #4: Display the WooCommerce daily order form on the front-end

Head over to PagesAdd New from the WordPress dashboard to create a new page and give your page a title. Next, use the shortcode [bulk_variations include="2662"] to add the WooCommerce product you created in Step #2 to your order form. Simply replace 2662 with the product ID of the WooCommerce product you created.

Product ID

This will generate a grid showing the variations for the lunch product on the front-end.

Daily order form grid layout

If you want to let customers place orders for breakfast items or desserts, then you can add shortcodes for their corresponding WooCommerce products in the same way.

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.

For one-off weekly orders or on-going subscriptions, 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 enable recurring orders, then you can add WooCommerce Subscriptions.

Alternatively, you can use the WooCommerce Bulk Variations plugin to create a grid showing the variations for a single product.

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!

19 Comments

  1. pedromoreira
    March 11, 2020 Reply

    Hi,

    Thanks for your article.

    In product page > add-ons, i dont have the Additional price multiplier option, just have - Multiple choice, checkboxes, short text, long text, file upload, customer defined price, quantity heading.

    Any idea about this issue? Thank you.

    • Katie Keith
      July 31, 2020 Reply

      Hi Pedro, it turns out that Product Add-Ons have renamed the 'Additional Price Multiplier' field to 'Quantity'. We have updated the above tutorial to use the new name for this add-on.

    • Adrian
      May 2, 2020 Reply

      having the same issue. got any solution for this?

      • EJ
        May 4, 2020 Reply

        Hi, Adrian. Sorry to hear you're experiencing a similar issue with the options in WooCommerce Product Add-Ons. As this isn't part of our plugin, I suggest that you please contact their support for a solution or the best advice on this. Many thanks.

    • EJ
      March 11, 2020 Reply

      Hello there. I'm sorry to hear you appear to not have the "Additional price multiplier" dropdown option. This is part of WooCommerce Product Add-Ons, and so I suggest that you please enquire about this over at WooCommerce Support as the plugin is developed by WooCommerce. Thanks!

  2. Katarina Radoš
    October 22, 2019 Reply

    Hello there, I am interested in purchasing these plugins so I can setup a Woocomerce shop for food ordering. With woo supscription. Is there a way to limit some meals, like you can only select one main dish per day but you can have a bagel every day?

  3. mokshesh
    January 23, 2019 Reply

    Hello Katie,

    I am working on ecommerce project.And the required functionality is that the customer should be given a facility to order multiple quantity based a week, This functioanlity is done (reference from your blog). Now the problem arise that it takes all the money all at once and it dosnt charge day wise. that seems inappropriate.

    so my plan is to make the customer pay only for a day and followed same for recurring orders.
    eg :- if i select one product for monday and 2 product for wednesday then my cart should charge me only for monday and after monday it should deduct my money for wednesday! ( note :- i am buying product day wise all at one for a week).

    • Katie Keith
      January 23, 2019 Reply

      You should be able to set up a weekly payment schedule like this with WooCommerce Subscriptions. Use Product Add-Ons (as described in the article above) to let customers whoo what they require on each day, and use WooCommerce Subscriptions for this product to set up the payment schedule.

  4. mokshesh
    January 23, 2019 Reply

    i didn't got you, can you describe for eg:- which plugin , and following steps to be taken ........

    • Katie Keith
      January 23, 2019 Reply

      Hi, please could you send more information about what you're trying to do at suppoert@barn2.co.uk. We'll be happy to advise on the best way to do it and which plugin you need.

Please share your thoughts...

Your email address will not be published.