If you run a website for your restaurant, you’ll want to consider offering an online ordering system. Your customers will appreciate the convenience of being able to choose what they want right from your site. However, it may not be immediately clear how to set this type of system up.

Fortunately, creating an online restaurant ordering system is quite simple. In fact, all you need is a WordPress website with WooCommerce and the WooCommerce Product Table plugin. With this set of tools, you’ll be able to build and customize a web page where people can order whatever they want and pay for it in just a few minutes.

In this guide, we’ll talk a little about how a personalized ordering system can benefit your restaurant business. Then we’ll walk you through the process of setting one up. Let’s get started!

Benefits of using an online restaurant ordering system

WooCommerce ordering system

You can make it easy for customers to buy food online using a customized ordering system

There’s no denying the growing popularity of ordering food online. Whether for pickup or delivery, people love being able to place an order quickly and move on with their lives.

79% of Americans between 18 and 34 have ordered takeout through a website or app, for example, and about 20% use food delivery services at least once a week.

If you have the resources, therefore, offering an online ordering option is a smart move. However, you aren’t likely to have much success if you don’t design your online restaurant ordering system carefully.

As it stands, most platforms aren’t built to do this easily. Take WooCommerce, for example: it enables you to turn your website into an online store quickly. However, it’s designed for selling individual products or services. Customers have to visit separate pages for each item they want – which is hardly ideal when ordering food.

That’s why you’ll need an additional tool, one that will help you design a one-page ordering system that functions as an online menu.

An introduction to WooCommerce Product Table

If you want to set up an online restaurant ordering system, WooCommerce Product Table can help you out:

This plugin is designed to integrate with WooCommerce and offer additional functionality. More specifically, it lets you create a product table showcasing all your items or services on a single page. For your restaurant site, this means you can list out all your dishes and other offerings in one online menu.

The benefits of using WooCommerce Product Table to set up your ordering system include:

Best of all, creating this type of ordering system is quick and simple. If you already have information and images handy about each item on your menu, you can get a customized product table up and running in no time. Let’s take a look at what that process involves.

How to create a WooCommerce restaurant ordering system (in 3 steps)

Before we jump in, let’s address a few initial steps you’ll need to take. We’re going to assume that you already have a WooCommerce website set up for your restaurant. If not, you’ll want to make sure to do the following things:

  1. Set up WordPress
  2. Install WooCommerce on your site
  3. Add each item on your menu as an individual product in WooCommerce.

When your WooCommerce site is ready, you can move on to the first step!

Step 1: List your restaurant menu in a table

First, you’ll need to purchase the WooCommerce Product Table plugin and install it on your site. Once the plugin is activated, you can navigate to WooCommerce > Settings in your dashboard. Select the Products tab, and click on Product tables from the menu at the top of the page:

WooCommerce Product Table settings

Here, you’ll need to enter the license key you were given when you bought the plugin. Save your changes, and WooCommerce Product Table will be ready to go.

Now, open up a new page and give it whatever name you like (for example: “Our Menu”). If you can only see one row of icons, click the icon labeled Toggle Toolbar. In the second row of icons that appears, choose Insert Product Table:

WordPress ordering system shortcode

This will place a shortcode on your page, which will automatically generate your product table. It will include all of your WooCommerce ‘products’ — in this case, your individual dishes, beverages, and so on. If you check it out on the front end, it should look something like this:

Basic ordering system table

It’s a little basic right now, but don’t worry. You can fully customize your ordering system to add exactly the information and functionality you want. Save this page for now, and then we’ll explore how to do that.

Step 2: Customize your food ordering system

At this point, you’ll want to return to WooCommerce > Settings > Products > Product tables. This is where you can make alterations to your product table, and turn it into a fully-functional online menu.

There are a lot of options here, so let’s touch on a few of the most important settings. First up, you’ll want to check out the Columns section:

Product table settings 1

As the name suggests, this is where you decide what columns will appear in your product table. For a restaurant ordering system, you’ll probably want to keep things simple. We’d suggest including an image, name, description, price, and add-to-cart button for each item.

Right below that, you can check the Quantity selectors box. This feature will let customers order more than one of each dish:

Product table settings 2

Moving down the page, open the Add to cart button menu and select Button and checkbox:

Product table settings 3

This is essential for making your ordering system user-friendly. Thanks to this option, customers will be able to check off all the food they want, and add it to their cart with a single click.

You may also want to enable both variations and filters. The Product variations field will let you display options within your product table. So if you offer multiple variations on a single dish, for example, you can showcase each one on its own line or in a drop-down list:

Product table settings 4

Filter dropdowns will add menus to the top of your product table, letting customers filter for specific types of dishes:

Product table settings 5

There are a lot more options here to explore, all of which are explained in the WooCommerce Product Table documentation. Don’t forget to hit Save changes at the bottom of the page when you’re done.

Finally, it’s also worth noting that you don’t have to stick with a single product table for your WooCommerce restaurant ordering system. You can create several tables and add them all to the same page — each displaying offerings from a different category. This allows you to separate your appetizers, main courses, beverages, and so on.

Step 3: Expand your restaurant ordering functionality with additional plugins

Your online restaurant ordering system should now look something like this:

Customized ordering system

Before you make this new feature live, however, you may want to consider adding a few extra features. While not required, these options will provide additional information to customers and make the ordering process more convenient.

For instance, most online stores operate 24/7. However, you’ll only want customers to place orders during your hours of operation. You can take care of this using the WooCommerce Opening Hours & Chosen Times plugin:

WooCommerce opening hours plugin

With this tool, you can decide exactly what times you’d like to offer online ordering. If a customer visits your ordering system outside those hours, a message will be displayed informing them that your restaurant is closed (and letting them know when it will re-open).

The WooCommerce restaurant order form lists meal variations or add-ons for each item. This is fine if you only have a few options for each food but often you will have too many options to fit into a one-page food order form and will need to visit a separate page for each item. The WooCommerce Quick View Pro plugin adds extra ‘Quick View’ links to the restaurant order form. Instead of customers having to buy their items directly from the order form, they click on a button to view the purchase options in a quick view lightbox popup. They simply click the quick view button for each item, select their desired options, and immediately return to the order form where they can continue adding foods to the cart, making it much more user friendly. This is the perfect companion to the WooCommerce Product Table.

In addition, some of your customers will likely want to order food and have it delivered (or pick it up) at a later time. You can add this functionality to your ordering system with the WooCommerce Delivery Slots plugin:

WooCommerce delivery slots

This plugin lets customers select a delivery date and time slot for their order. As a bonus, it also help you keep the number of orders you accept each hour at a manageable level.

Last but not least, you may want to check out the WooCommerce Google Cloud Print plugin:

WooCommerce Google Cloud print

This plugin lets you connect your WooCommerce store directly to Google Cloud Print. You can easily set up a system that automatically prints new orders straight to the kitchen. This helps you fulfill orders more quickly, ensuring that your staff don’t miss any.


Setting up an online ordering system for your restaurant may seem a little intimidating at first. Although you know your customers would love the option to purchase food through your website, you might not be sure how to get started. However, you can drastically improve your chances of success with some careful design and the right tools.

To recap, here are the steps you’ll want to follow once you have WooCommerce set up:

  1. Install WooCommerce Product Table and list your foods in a one-page order form.
  2. customize your restaurant ordering system
  3. Expand the functionality with additional plugins like WooCommerce Opening Hours & Chosen Times, WooCommerce Delivery Slots, or WooCommerce Google Cloud Print.

Do you have any questions about how to build an ordering system for your restaurant? Ask away in the comments section below!

Cover Photo Credit: Karolina Grabowska (CC0 license)

Posted by Katie Keith

Katie is the operations manager at Barn2 Media. With extensive experience of WordPress & web design, Katie gives top-notch advice on how to get the most out of WordPress.


  1. Hello,

    I have a client that wants to have a two for one promotion when ordering pizza. So when the client order one pizza, the other would have to be free. is it possible to do that ?

    Thank you !

    1. Hi Jean-Philippe, you can do this with the Dynamic Pricing extension. This works nicely with the WooCommerce Product Table plugin featured in this tutorial.

  2. Hi Jean-Philippe, you can do this by using WooCommerce Product Table with the official Dynamic Pricing plugin. This lets you create advanced pricing rules and discounts, for example give 100% discount on a 2nd pizza when you buy one at full price.

  3. Hey great walkthrough. How would you handle modifications to items being added to the cart? Say my client iwns a pizza shop and a customer wants a specialty pizza “add pepperoni” “no onions”

  4. I recommend using WooCommerce Product Table with the official Product Add-Ons extension for this. WooCommerce Product Table fully supports Product Add-Ons so they are guaranteed to work together. You can create add-on options such as ‘Add Pepperoni’ and ‘No Onions’ checkboxes. This is more appropriate for a pizza restaurant than using standard product variations because you can have checkboxes rather than add-ons and it’s simpler to set up.

    Your add-on options will automatically appear in the add to cart column of your product tables, so customers can select them before adding to the cart.

    Some pizza restaurants have a very large number of add-ons for each product, which doesn’t fit into the neat table layout. If this applies to you, then I recommend using the above plugins with WooCommerce Quick View Pro. This lets you replace the add to cart column with quick view buttons, so customers can open a lightbox popup for each product. They can then choose their options and add to the cart from the lightbox. This is a good balance because you’re not taking customers to a separate page to purchase each product, and it keeps your main list of pizzas clean and tidy.

Comments are closed.