In this article, I'm going to tell you how to use the best WordPress plugin to build a quick WooCommerce wholesale order form. It's easy to set up, and you can put your B2B wholesale order forms within a private area for approved wholesale buyers.

If you run a WooCommerce wholesale or role-based store, your customers need to see the correct products and prices for their wholesale status or group. Wholesale customers also benefit from a tabular view of all the products available to them.

You can get this by using our wholesale suite of plugins - WooCommerce Product Table combined with WooCommerce Wholesale Pro. WooCommerce Wholesale Pro adds wholesale registration, new user approval, user roles and pricing to your store (without affecting your public-facing shop); and WooCommerce Product Table adds quick wholesale order forms.

The best wholesale order form plugin

WooCommerce wholesale order form plugin

WooCommerce Product Table takes your wholesale products displays them in a table. When used alongside WooCommerce Wholesale Pro, it's the perfect format for a WooCommerce wholesale ordering form plugin.

You can choose which columns are displayed in the order form. You can even add filters based on categories, tags, variations etc. There are over 50 options for you to experiment with.

What’s great is that customers can select multiple products from the WooCommerce wholesale order form and click "Add Selected to cart". This is a handy feature for wholesale buyers, most of whom will be making a bulk purchase and want to buy quickly.

How to set it up

You can create a WooCommerce wholesale order form in just a few minutes. Either watch this video tutorial, or follow the written instructions below.

  1. Install and activate WooCommerce Product Table and WooCommerce Wholesale Pro.
  2. Go to the plugin settings pages (WooCommerce → Settings → Products → Product tables and WooCommerce → Settings → Wholesale) and enter your license key for each wholesale plugin. Choose the other settings to set up each plugin according to your requirements.
  3. Choose the 'Order form' options on the 'Layout' tab of the WooCommerce Wholesale Pro plugin settings:
WooCommerce wholesale layout settings

Now, when a wholesale user logs into their account, they will see the products listed in the WooCommerce wholesale order form:

WooCommerce order form cart widget

Normal retail customers will continue to see the default store layouts. (Tip: If you want to use the order form layout for public customers too, then you can enable it throughout your store on the WooCommerce Product Table plugin settings page.)

Bonus tip - Add quick view to your WooCommerce wholesale order form

You can make a wholesale order form even more user-friendly by adding quick view options:

  1. Get WooCommerce Quick View Pro and install and activate it on your WordPress site.
  2. Add your license key to the plugin settings page at WooCommerce → Settings → Products → Quick view. 
  3. Use the settings on this page to control the content of your wholesale quick view lightboxes.
  4. Now go to WooCommerce → Settings → Products → Quick view and change the following options:
    • If you wish to add a quick view column to the table, add quick-view to the list of columns.
    • If you want people to be able to open the lightbox by clicking on a product name, click the 'Replace all links to product page with quick view' option near the bottom of the page.
    • If you want the image column to open the quick view too, then you will need to disable the image lightbox option further up the page.

Other ways to increase your B2B sales

By now, you've learned how to set up an effective WooCommerce bulk order form with restricted access for B2B users. That has taken care of the ordering process for that user group.

Before we close, it's worth mentioning some other ways to grow your B2B sales. For example, use email marketing in a way that will appeal specifically to B2B customers. This will convert them from one-time buyers to regular wholesale customers. And as everyone knows, it's cheaper to retain and existing customer than to recruit a new one - so this is a cost-effective way to bring them back to your wholesale order form over and over again.

Case study #1 - PolBazar24 WooCommerce wholesale order form

PolBazar24 is a Polish food wholesaler. Their website has a WooCommerce wholesale order form powered by our WooCommerce Product Table plugin. Every wholesale product is listed in the easy to use table along with a small image.

Customers can quickly read a short product description and find out the stock number, its weight and price. There’s even a handy stock level indicator to let customers know if the product is in stock. And if it is in stock, customers just input the quantity needed and click add to cart. It works well for PolBazar24's customers as everything can be done from the single WooCommerce bulk order form and there's no flitting between pages to place their order.

You can use the same plugins to create your very own WooCommerce wholesale order form.

Case study #2 - Yarn Gate's wholesale order form

WooCommerce quick view wholesale plugin

Yarn Gate also used WooCommerce Product Table to build their wholesale order form. They went a step further, and enhanced it with some extra plugins. They used the WooCommerce Quick View Pro plugin to add 'Select color' buttons to the table.

When logged in wholesale customers click on these buttons, they can click on a photo to choose a color variation, and add it to the cart. The variation photos are created using the WooCommerce Attribute Swatches plugin.

This is a perfect example of how you can add extra features to your WooCommerce wholesale order form.

Get WooCommerce Quick View

Add wholesale order forms to WooCommerce today!

As you can see, it's really easy to use our suite of wholesale plugins to add a private B2B area with wholesale order forms. You can use them to make your whole store private, or run them as a hidden area alongside your public retail shop.

  • Quick to set up and easy to use
  • Flexible customization options
  • Full documentation and support (absolutely no way to get it wrong!)
  • Written and video tutorials
  • Love it or your money back!

Let us know in the comments how you use the WooCommerce wholesale ordering plugins in this tutorial. I'd love to hear from you.

Best WooCommerce order form plugin

Have you ever noticed how long it takes to add products to the cart in WooCommerce? Customers have to visit a separate page for each product so that they can select quantities, choose variations etc. You can speed up the customer journey by adding a quick WooCommerce bulk order form to your website. To do it, simply install a WooCommerce order form plugin.

Order forms allow customers to view and compare a longer list of products than the traditional WooCommerce layout. For lots of stores, an order form fits aligns better with how customers browse and buy products. They can see everything on one page, compare products and make quick buying decisions. This encourages more sales by enabling customers to shop quickly and efficiently.

WooCommerce Product Table order form

WooCommerce Product Table is the perfect way to create a quick order form. In fact, people keep telling me it's the best WooCommerce order form plugin around! We've built a quick order form demo so you can see how it works – go ahead and have a play.

Of course, an order form layout isn't for everyone. In this post we'll help you choose between using a WooCommerce order form plugin and the standard WooCommerce shop layout, so you can rest assured you're creating the ideal product layout for your store. Once you've learned all about WC order forms, I'll provide step-by-step instructions plus a video tutorial on exactly how to set it up.

What is a WooCommerce order form?

By default, WooCommerce displays e-commerce products in a standard format, with each product occupying a relatively large amount of space.

This typical store layout has a grid format with 3 or 4 products per row. Each will have a large featured image, a title, a short description, a price, and an Add to Cart button. Customers click through to a single product page to read more information before adding the item to their shopping cart:

Default WooCommerce layout example

A WooCommerce order form is an alternative way to list products. Presented in a structured table format, each product takes up a single row in the table, and product images are much smaller. The layout is far more compact and often includes extra features, such as sort options and filters. The screenshot below shows what you can create:

WooCommerce order form plugin example

An order form plugin lets you list many more products on a single page than you could in the default WooCommerce store layout. And, instead of clicking through to the single product page, customers can select variations, specify a quantity and add their chosen items to the cart – all directly from the order form.

Boosting sales with an alternative layout

Both the traditional category layout and order form view use the Woo cart and checkout. Once a customer has chosen their products, the process for placing an order is identical.

The real difference is how the products are presented in the first place. This is a key part of the buying process: it's the point when customers are exploring your products and making buying decisions. The layout has a big impact on your sales and conversion rates, so it's vital to choose the right layout for your products.

Comparing the two layout options for listing WooCommerce products, you can see how a WooCommerce order form plugin (or WooCommerce bulk order form plugin) makes much better use of space than a traditional store layout:WooCommerce order form layout

Using the product table, you'll fit twice as many products into the same amount of space. Because of the compact layout, it's also possible to fit in plenty of extra features, including filter dropdowns, a search box, sorting, and the ability to select quantities and variations. This is why we often refer to it as a WooCommerce bulk order form – because it's so much easier to order higher quantities.

What sort of websites need a WooCommerce order form plugin?

While the standard WooCommerce shop format is great for some stores, there are many cases when an order form gives customers a better buying experience.

A WooCommerce order form plugin is ideally suited to stores where customers don't want to hang around browsing, but instead want to quickly choose from a list of products. Let customers add multiple products to their carts from a quick one-page order form. 

WooCommerce quick order form

How to create a WooCommerce order form

Watch this video tutorial below to learn how to create a order form in WooCommerce. You can watch me create the exact order form shown on the demo site then create your own on your WooCommerce site! Alternatively, read the quick setup guide or the step-by-step written instructions below the video:

Quick setup guide

  1. Install the WooCommerce Product Table plugin on your WordPress site.
  2. Use the plugin setup wizard to control how you want the order form to work.
  3. Go to Pages → Add New and add the [product_table] shortcode.
  4. Publish the page and view the order form.

Detailed written tutorial

To start, you need a WordPress website with WooCommerce set up and some products added.

Step 1: Install the WooCommerce order form plugin

  1. Get WooCommerce Product Table and install it via Plugins → Add New.
  2. Get your license key from the confirmation email and enter it into the setup wizard or WooCommerce → Settings → Products → Product tables.

Step 2: Configure your order forms

The next step is to choose all the default settings for your product order forms. You can either do this on the plugin settings page or in the setup wizard.

The settings you choose here will apply to all the order forms on your site. If you plan to create multiple order forms, then you can override most of the settings directly in each order form.

For an order form, I recommend considering the following settings:

Choose what data to display in the order form

The 'Column' option lets you control which columns appear in the order form. You can display various data about your products including SKU, ID, name, description, short description, date, categories, tags, image, reviews, stock, weight, dimensions, price and Add to Cart button. The plugin supports product attributes and custom fields as separate columns in the table, e.g. size or color.

WooCommerce order form with variations
You can choose whether the 'Buy' column includes product variations and quantity picker, or whether you want customers to click through to the single product page to view the variations. And if you're using the Product Options plugin to add extra product add-ons, then these will appear in the order form too.

You can also choose whether to have normal add to cart buttons, multi-select checkboxes, or both. Or if you use WooCommerce Product Table with the free WooCommerce Custom Add to Cart plugin, you can even replace the cart button with a simple cart icon:

WooCommerce cart icon plugin
Use filters to help customers find your products

The WooCommerce order form can include filter dropdowns above or filter widgets alongside the table. This lets customers filter by category or product categories, tag or attribute. You can either include all possible filters or choose specific ones to appear.

Here's an example of the filters that come with the order forms in Product Table:

WooCommerce order form with filters

Or for even more filtering options, you can use it with our advanced filtering plugin - WooCommerce Product Filters. By using both plugins together, your filters can look more like this:

WooCommerce Product Filters Table Integration
Change the sort order of the products in the order form

You can choose how the products on the order form are sorted by default. Customers can also sort the products by clicking on a column header.

Control the number of products per page

Your order form can be as short or as long as you like. Simply choose how many products appear on each page before pagination links appear at the bottom. (You can even choose the style of pagination buttons, or display all your products so that no pagination is needed.)

Use lazy load to improve performance in big order forms

The lazy load option speeds up the order form load time for WooCommerce stores with many products. This uses Ajax to load products one page at a time, so if you have thousands of products then this makes a big difference.

Step 3: Create an order form page(s)

  1. Create a new page which you will use for your order form. If you prefer, you can tick the box on the settings page to enable the order form layout on your main shop and category pages instead.
  2. Add any content that you like to the page. For example, you can add text or other content above and below the order form. You can also add subheadings (e.g. one for each category) and insert a different order form after each one.
  3. Go to the part of the page where you wish to add a WooCommerce form. Add the following shortcode to the page: [product_table]
  4. Publish the page and view it.

On your= order form page, you'll see all your products listed in a neat table layout. Tweak the settings to configure your order form in whichever way you like.

If you want to create multiple order forms - either on the same page or multiple pages - then that's fine too. Just use the shortcode options to control which products appear in each order form. You can include specific products by their ID, product categories, tags, and more. You can also exclude products by ID or category.

WooCommerce Product Table categories screenshot

Step 4: Add bonus features to your order forms

Now we've looked at the essential features for a WooCommerce order form, I'm going to tell you how to supercharge it even further. You can do this by using other plugins to add bonus functionality.

Add an on-page popup cart and checkout

A WooCommerce order form is all about bringing the shopping experience to a single page. For this reason, it makes sense to also bring the cart and checkout experience to the same page!

You can achieve this by adding a cart popup plugin to the order form page. The Fast Cart plugin is designed to work alongside your WooCommerce order form like this:

Product table with fast cart

And also this:

WooCommerce popup checkout page

Either use it as a popup cart, or skip the cart and open the checkout as soon as customers add products to their cart from the order form. That's the quickest way to shop because customers can add products and complete their order from the same page!

Add product quick view
WooCommerce Product Table Quick View Magnifying Glass

Your order form can contain various columns of information about your products. However, you may want to display extra information that won't fit in the order form layout. Or you may want to sell product variations or other options without cluttering up the order form page.

You can solve this dilemma by using WooCommerce Product Table with the WooCommerce Quick View Pro plugin. This adds quick view buttons or links, which open extra product information and purchase options in a user-friendly lightbox window. It's a great way to show extra information without taking customers away from the order form.

Disable the WooCommerce single product page

By default, customers can click on a product title or image in the order form to view a separate page for each product. Most product order forms don't need this feature. You can disable these links if needed so that the only way to view a product is on the order form page - especially if you're using quick view instead.

Add additional fields and custom fields to the order form

WooCommerce Product Table makes it easy to add additional fields to your order form. This is useful if you need to add media such as PDFs with more information about a product, or you just need other meta information.

We have a full tutorial on how to use WooCommerce custom fields here.

Create a printable WooCommerce order form

Since publishing this article, some of our customers have asked about how to create a printable order form. The idea of this is that customers can print the order form on paper and fill it in manually. They can then post it to place the order the old-fashioned way.

In response, we've created a separate tutorial on how to create a printable order form.

What types of product sell best in a quick order form?

Now we've learned how to use the best WooCommerce order form plugin, let's consider when to use one. After all, all products are different and some lend themselves to the order form layout better than others.

Let's take a look at some examples of when an order form layout is the best way to go:

WooCommerce wholesale order form

WooCommerce Wholesale Pro prices 1

Trade customers typically make regular orders of products they're already familiar with. They don't want to spend ages browsing multiple product pages.

A compact wholesale order form lets them quickly select multiple products and instantly add to cart. This is more efficient for wholesale users than a more traditional WooCommerce product layout, which is too visual and spaced out. It's ideal for bulk wholesale buying.

For best results, use WooCommerce Product Table together with its sister plugin WooCommerce Wholesale Pro. Product Table provides the order forms, and WooCommerce Wholesale Pro adds other B2B functionality like wholesale registration and pricing. You can choose whether to enable the order form view for all customers, or just wholesale users.

Large product directory

A lot of our WooCommerce Product Table plugin users have HUGE e-commerce stores with thousands of products. A WooCommerce directory plugin is a good way to list large numbers of products in a directory structure.

For example, one website uses WooCommerce Product Table to display thousands of ball bearings for sale. Customers can use the filters to find the type of ball bearing they require based on product attributes such as size and color. They can then tick the products they want, add to cart and buy online. This would be a cumbersome process using the traditional WooCommerce shop layout. Not to mention that large pictures of ball bearings aren't necessary! Check out our tutorial on how to create a WooCommerce product catalogue.

Here's a review from a customer who's increased sales by using Product Table to list thousands of products in a quick order form:

Great Plugin!
I needed a simple table to display thousands of products in table form and this plugin did the trick. Plus, it is super simple for the customer to select many items at one time. Before I installed I was lucky to get orders with three items, now I AVERAGE ten products per order. Support is also really good too. I highly recommend this plugin.

WooCommerce bulk order form

Similar to a wholesale order form, a WooCommerce bulk order form is useful for ordering large quantities of products. If a customer is buying products in bulk, they won't want to browse through the standard WC layout. A product table is perfect as a bulk order form because they can quickly order as many products as they like.

'Build your own product' configurator

WooCommerce Product Configurator Plugin

Lots of WooCommerce websites let customers choose multiple items from a list to build a box, create their own pizza, build a luxury hamper, or similar. Customers can select items from a list and add them all to a cart with a single click. An order form is ideal for this 'build a product' format or product configurator.

Case study – using an order form plugin to sell hampers

Barks and Squeaks is an online store selling gifts and treats for fur buddies and their owners. As well as offering individual products, the Barks and Squeaks store sells hampers. To do this, they've created an order form using our WooCommerce Product Table plugin. This enables customers to quickly pack a hamper full of lots of products, without changing pages:

Build your own product example

Which WooCommerce stores don't need a quick order form?

As you can see, a WooCommerce order form plugin is the right choice for lots of stores, but it isn't for everyone.

If you answer 'Yes' to any of the following questions, it's worth considering whether the standard WooCommerce shop format is a better fit:

  • Does your store only have a few products?
  • Do you sell highly visual products that will benefit from big images or multiple images?
  • Do customers need to spend a long time reading detailed information about your products before deciding to buy?

As an example, imagine you own an online boutique clothing store. Think about how your customers would use your store. Big images will definitely play a crucial role in encouraging sales. Your customers will also be happy to take their time browsing items and reading detailed product information. They may then go on to make a considered purchase of one, two, or perhaps a few items.

With a WooCommerce order form, customers can click through to a single page for full product information. You can also increase the size of the product images for a more visual table:

Large image product table

But ultimately, deciding on the right layout to use comes down to which one best suits your particular customers. With smaller purchase quantities and less need for quick purchases, your imaginary boutique clothing store is likely to benefit from the highly visual layout characteristic of the standard WooCommerce shop format.

Create a quick WooCommerce order form today 🚀

How your customers want to shop should dictate your store's product layout. The default WooCommerce shop layout works for customers who are happy to take their time browsing images and reading descriptions. But, when your customers need to buy multiple items quickly, a WooCommerce order form plugin is a much better solution.

We'd love to see your WooCommerce form – share your website in the comments below. We might even link to it from the WooCommerce Product Table showcase!

Create a wholesale website

Whether you are a small business owner looking to expand your product offerings or a large retailer looking to tap into the wholesale market, this free guide is for you. Discover everything you need to know about how to create a WooCommerce wholesale website.

WooCommerce is great for creating an e-commerce site, but it doesn't distinguish between retail and wholesale customers. That's no good because B2B buyers have different needs from other customers. As well as needing wholesale pricing and discounts, they're already familiar with your products and want a quicker, easier way to buy.

The problem is: How can a company like yours create a wholesale website without affecting the experience for normal public customers?

Luckily, there's an easy solution - simply install the best WooCommerce wholesale plugin.

What to expect from this WooCommerce wholesale tutorial

Create a WooCommerce wholesale website

This is the complete step-by-step guide on how to create a WooCommerce wholesale website. Keep reading if:

  • You're looking to expand your business and tap into the wholesale market.
  • You currently take wholesale orders manually and want to automate this through your website.
  • There's already a wholesale ordering plugin on your website, but it doesn't fully meet your needs.

This tutorial will take you through the process of creating a wholesale website from scratch. You will learn how to:

  • Add a WooCommerce wholesale area to your existing online store (without changing anything for retail customers).
  • Create a 100% private wholesale-only online WooCommerce store.
  • Add a wide range of B2B features - including wholesale registration forms, pricing, custom user roles, and choosing which products to show in the WooCommerce wholesale and/or retail areas.
  • Grow your wholesale revenue by adding quick one-page order forms, designed specifically for wholesale.
  • Add a range of bonus features to make the wholesale buying experience even better.

By the end, you will have a fully functional WooCommerce wholesale website.

And the best part? You can set it up in 15 minutes, then sit back and let it do all the work for you. It’s way faster and way cheaper so you can start taking wholesale orders today!

What is a wholesale website?

A wholesale website is an online shop in which part or all of the eCommerce area is restricted to B2B (business-to-business) buyers. These buyers are typically resellers of your products. They need to buy the products at discounted trade prices so that they can mark them up when selling them to their own customers.

A wholesale website may also have a public shop for retail customers. These public customers cannot see wholesale prices.

Why create a wholesale website?

You should create a wholesale website if you want resellers to be able to purchase at trade prices. Of course, you can avoid this by taking wholesale orders manually over the phone. However, it's far more efficient to let them do it themselves on your website.

This will help to grow the wholesale side of your business because it is more convenient for buyers, as well as freeing you up for more important tasks. A wholesale website can be tailored specifically to the needs of wholesale buyers, without affecting the public-facing shop. This helps to build loyalty to your brand and ensure that they continue selling your products for many years.

WooCommerce Wholesale Product Table screenshot
A dedicated wholesale order form provides a much faster buying experience

What is the best website builder for wholesale?

The best website builders for creating a wholesale website include WooCommerce, Shopify and Squarespace. They all make it easy to create a wholesale website without any technical expertise.

Out of these top 3, I recommend using WordPress with WooCommerce because:

  • You probably use it alreadyAs the marketing leading website builder, it's likely that you already use WordPress for your main company website. You might even already use it with WooCommerce for your public eCommerce shop. As a result, the easiest option is simply to add a wholesale area to your existing site.
  • Excellent choice of professional-grade wholesale pluginsThere are some fantastic WooCommerce wholesale plugins available. These are perfect for adding all the features you need. This includes WooCommerce wholesale pricing, user registration, bulk order forms, minimum order requirements, and tiered pricing.
  • Infinitely customizableA WordPress wholesale website is completely flexible and you get full control over it. You can choose from a wide range of themes and plugins to create a unique wholesale website that represents your brand and offers a great user experience for wholesale buyers.
  • You own your dataUnlikely proprietary website platforms, you own your data.
  • 100% free, and you keep the profits!WordPress and WooCommerce are both completely free to use. You'll pay a bit for a domain name, web hosting and your WooCommerce wholesale plugin. However, this works out far cheaper than using an enterprise solution where you pay a share of the profits on every sale.
WooCommerce Wholesale Plugin
An example of a WordPress WooCommerce wholesale ordering page

If you are looking to create a wholesale website, WooCommerce is a great platform to use. Next, I'll tell you how to set it up for this purpose.

Your complete guide to creating a WooCommerce wholesale ordering store

This step-by-step guide will show you how to use the WooCommerce Wholesale Pro WordPress plugin to create a wholesale website. We'll cover all the essential features:

  1. How to create a private wholesale areaDiscover the easy way to restrict access to your WooCommerce wholesale ordering store. You can either create a completely hidden B2B store; or a public retail WooCommerce store with private wholesale area. It comes with everything you need including unlimited wholesale user roles and user registration (with or without moderation). You can also choose which products to show in the public and/or wholesale stores.
  2. Set wholesale pricing and discountsNearly all WooCommerce wholesale websites need to charge different retail prices and wholesale prices. What's more, many also need to charge different wholesale pricing to different groups of wholesale users. I'll show you how to add 3 different types of wholesale dynamic pricing.
  3. Create user-friendly wholesale layouts and order formsFinally, you'll learn how to list products in an easy-to-use WooCommerce wholesale ordering form. B2B customers don't want to browse through multiple pages or look at big images, so a wholesale quick re-order list is a must.

At the end of this tutorial, you will know how to create a WooCommerce wholesale website with all these amazing features. It's easier to set up than other WooCommerce wholesale plugins or WordPress membership plugins. You'll have everything you need to create a wholesale website today.

To get started, watch the video or follow the written instructions in the step-by-step guide below.

1. Set up your basic WooCommerce store

If you haven't already done so, then you need to create a WordPress website with a domain name. You should also install the WooCommerce plugin on it. (If you don't know how, check out this guide on How do I set up a WooCommerce shop?) Add some products to get started. At this stage, all your products will be publicly available and presented in the default layout.

Keep reading to learn how to add a hidden WooCommerce wholesale area.

2. Create a private WooCommerce wholesale ordering area

Firstly, you need to create a wholesale WooCommerce store which is hidden from public view so that only approved wholesale customers can access it. You might choose to set up a standard online retail WooCommerce store with a separate private wholesale area. Or you can even have a 100% hidden WooCommerce wholesale ordering store that no one else knows exists!

You can do all of this with WooCommerce Wholesale Pro. This section will answer the question "How do I create a wholesale page in WordPress?" You'll learn how to use this fantastic WooCommerce wholesale plugin to add:

  1. Wholesale login page - with or without a registration form for new wholesalers.
  2. User roles - create additional wholesale custom user roles.
  3. Wholesale products - you can either use the same products in the public and wholesale areas (with special pricing and order forms for wholesale users, of course); or you can have completely different products for retail and wholesale.
  4. Menu links - Set up the wholesale website navigation.

All these steps are optional, so you can stick with the default options to set up the WooCommerce wholesale app even more quickly.

2a. Install the WooCommerce wholesale plugin

To get started, buy the WooCommerce Wholesale Pro plugin. Install and activate the plugin, then add your license key using the instructions in the confirmation email.

As soon as you do this, the plugin will automatically create a wholesale user role, a Wholesale Store page, and a Wholesale Login page.

Your WooCommerce wholesale website is now 90% set up, and you haven't even done anything yet!

2b. Set up wholesale registration (optional)

Secondly, log into the WordPress Dashboard and go to WooCommerce → Settings → Wholesale → General. Choose whether or not to allow new users to register for the wholesale store:

WooCommerce wholesale plugin settings

If you enable wholesale registration, then:

  • The Wholesale Login page will also include a registration form.
  • You can choose whether new wholesalers can access the wholesale area immediately, or whether their customer account will be held for moderation by an administrator first.

If you disable wholesale registration, then you can still add wholesalers manually via the WordPress admin.

Edit your wholesale registration emails (optional)

The WooCommerce wholesale plugin comes with a range of emails for each stage of the wholesale registration process:

WooCommerce wholesale emails

When you install the wholesale plugin, these emails will be pre-populated with suitable wording. You can easily edit the emails at WooCommerce → Settings → Wholesale → Roles if required.

Once registered, wholesale users will receive the same emails as your normal customers. These are provided by WooCommerce rather than the wholesale plugin.

2c. Add extra wholesale user roles (optional)

The WooCommerce wholesale plugin automatically creates one wholesale user role. If you want to charge different wholesale prices to different wholesale users, then you need to create a separate user role for each group.

You can easily do this at WooCommerce → Settings → Wholesale → Roles:

WooCommerce wholesale roles settings page

If you enabled wholesale registration, then new wholesalers will be added to the default wholesale user role. You can then change their user role manually (for example, when you approve their account).

If you add new wholesale users manually via Users → Add New in the WordPress admin, then you can select the appropriate wholesale user role from the 'Roles' dropdown.

2d. Control the visibility of your WooCommerce wholesale products (optional)

By default, all the products in your WooCommerce wholesale store are available to everyone. Public users and normal customers see the standard price for each product, while wholesale users see the correct price for their role.

If you prefer, then you can choose whether each category of products is visible to public users or wholesalers only. You can easily do this under Products → Categories:

WooCommerce wholesale category plugin

This lets you sell different products or SKU's to retail and wholesale buyers.

2e. Set up the wholesale website navigation

Finally, you need to structure your wholesale website so that people can easily find their way around. This only takes a minute:

  • Link to the wholesale login pageSome WooCommerce wholesale websites add a wholesale login link to their public website, while others keep this private. You can add a link to the 'Wholesale Login' page to your menu or anywhere else on your site (e.g. the footer). Or if you want to hide the fact that you have a wholesale store, then you can send a link to the Wholesale Login page to your distributors (e.g. in the email to new wholesale users). As a result, retail customers will never know there's a hidden wholesale area.
  • Edit your navigation menuThe WooCommerce Wholesale Pro plugin cleverly shows and hides your menu links so that each user only sees pages they have access to. Make sure the main menu on your site contains all the required links for both the public and wholesale users. Each one will only see the correct links for them. For example, public visitors or normal customers will see the link to the Wholesale Login page. But they won't see any other links to wholesale-only content. If they login as a wholesale user, then the menu changes to hide any public-only links and display the wholesale-only content. Neat!

Case study: Wholesale navigation for Best Remy Hair Extensions

NRD Web Design used WooCommerce Wholesale Pro to create a wholesale website for their client Best Remy Hair Extensions.

To ensure that wholesalers can find the hidden products and pricing, they added clear 'Wholesale Login' and 'Wholesale Registration' links to the website header. This creates an intuitive user experience for wholesale buyers, without affecting the navigation for normal customers.

WooCommerce Wholesale Registration Login Plugin

Richard Davenport from NRD Web Design was delighted with his client's WooCommerce wholesale website (and his experience with Barn2 in general). He said:

Solid plugin, great support.
Barn2 are really leading the way in customer service, and quality of product and communication. Their newsletters are one of the very few I am happy to receive, and am always actively interested to read about the new features (or plugins) that they are working on or have released. I point my people in their direction quite regularly.

3. Set up wholesale pricing and discounts

The next step is to add the correct pricing and discounts for your wholesale users. You can set different pricing for each wholesale role - perfect if you have tiered wholesale discounts for different groups.

When you create a wholesale website with WooCommerce Wholesale Pro, there are 3 easy ways to set prices:

  1. Global percentage discountOn WooCommerce → Settings → Wholesale → Roles, set a % discount for each wholesale role. This will be deducted from the wholesale price of all products for users with that role, except for any products that have a category or product-specific discount.
  2. Category percentage discountFor greater control, you can set category-level % discounts which will affect all products in that category and its sub-categories (except for any products where you have entered individual wholesale pricing).
  3. Product-specific wholesale pricingFor even more fine-grained control, you can set specific wholesale variable prices for each product or variation. (Note: This option only appears for roles where you have enabled product-specific pricing on WooCommerce → Settings → Wholesale → Roles.)
WooCommerce product wholesale price
An example of setting product-specific wholesale pricing for a variable product

Logged-in wholesale users will see the correct product pricing for their user role. The main price will appear crossed out, and the wholesale price will appear alongside.

If the product is also visible to guest users and non-wholesale user roles, then they will see the standard price as usual. Your WooCommerce wholesale pricing will remain secure and only wholesale users will ever be able to see it.

You can combine the different types of wholesale pricing as required, and the plugin will always show the correct price. For example, if you set a global, category-level AND individual product discount then wholesalers will just see the individual product discount. If there is no product-specific wholesale price then wholesalers will see the category discount, and so on.

How to set wholesale prices on your WooCommerce store

Adding a global wholesale price

Create a wholesale website with user roles
  1. Go to WooCommerce → Settings → Wholesale → Roles.
  2. Click to edit each wholesale role.
  3. Add a whole number in the global discount field. This percentage will be deducted from all products, unless it is overridden by a category or product-specific wholesale price.

Adding category wholesale pricing

Create a wholesale website with product visibility
  1. Go to Products → Categories.
  2. Either add a new category or edit an existing one.
  3. Add a whole number for each wholesale role. This will be deducted as a percentage discount off all the product pages (except for products where you set an exact wholesale price).

On this screen, you can also hide the category from public or wholesale users if required.

Adding exact wholesale product prices

WooCommerce variable product wholesale price
  1. Go to the main Products list in the WordPress admin and click on the product you want to add an exact wholesale price for.
  2. On the 'Edit Product' screen, scroll down to the 'Product Data' section. For simple products, go to the 'General' tab and add an exact price (not a percentage discount) for each wholesale user role. For variable products, go to the 'Variations' tab and enter an exact wholesale price per variation.

4. Create user-friendly wholesale layouts & order forms

PolBazar24 One-Page WooCommerce Wholesale Website

So far we've covered the best ways to protect your wholesale area from public users and to set wholesale pricing. But that's only half the journey to creating a WooCommerce wholesale website.

The other half is the layout of your wholesale area. This is more to do with user experience and growing your wholesale sales rather than functionality.

There's little point having a private wholesalers section if it's clunky and difficult to use, or if it looks identical to your retail shop. You need to ensure that you're offering a visually different experience that's better catered to the needs of wholesalers.

Public eCommerce shops tend to use a standard layout with large product images and basic information. This is suited to retail customers who don't need to know detailed specifications for each product but do want eye-catching, persuasive visual listings. Customers can browse the products and click through to view more detail on individual product pages. They take their time to choose each product, and are happy to visit a separate page to choose quantities and variations for each one.

This retail-style layout isn't suitable for most WooCommerce wholesale stores. But strangely, nearly all WooCommerce wholesale plugins neglect this important fact, and leave the wholesale area looking the same as the public shop.

To fix the problem, WooCommerce Wholesale Pro is designed to work alongside its sister plugin - WooCommerce Product Table.

WooCommerce Wholesale Pro wholesale default layout

WooCommerce Product Table offers a wholesale-friendly order form layout

Products are listed in a responsive space-saving grid or tabular layout with extra product data and instant purchase options.

This is more appropriate for wholesale customers, who are already familiar with your products. They want to see all the information at a glance, select quantities and variations, and make quick buying decisions from a one-page order form. They definitely don't want to waste time visiting a separate page for each product!

A product table wholesale layout provides an easy way for B2B customers to re-order their regular products, acting as a wholesale quick re-order list.

WooCommerce wholesale ordering plugin reviews

How to create wholesale product tables

  1. Get WooCommerce Product Table. You can buy it on its own, but it's cheapest to buy it as a bundle with WooCommerce Wholesale Pro. (You can do this on the WooCommerce Wholesale Pro sales page.)
  2. Install and activate WooCommerce Product Table using the instructions in the confirmation email.
  3. Go to the plugin settings page from the admin panel – WooCommerce → Settings → Products → Product Table. Enter your license key from the confirmation email, choose the default settings for your wholesale order forms, and click Save. You can customize every detail of your tables, from the styling to the table columns, filters and sort order.
  4. You can manually add product tables using a shortcode. However, it's best to set up your product tables centrally in step 3. Then go to WooCommerce → Settings → Wholesale → Layout and automatically enable the product table layout in the wholesale area. This will display the wholesale order form for logged in wholesale users, while keeping your default layouts for guests and retail customers.
  5. Save changes to make them live.

Getting more sales from your wholesale product tables

A WooCommerce wholesale pricing product table with variations.
Choose what to display in your wholesale order form

The WooCommerce wholesale table plugin is incredibly flexible. Here's a summary of the main features to list wholesale products:

  • Columns The table can contain various columns. It supports all the main WooCommerce data fields (title, description, categories, product attributes, tags, stock, etc.). You can also add extra product data through custom fields and taxonomies.
  • "Add to cart" buttons By including add to cart buttons, wholesale customers order online directly from the product table view. Choose whether to include a quantity selector and product variations. You can also create further options using the Product Options plugin. This way, you can create a wholesale order form for easy bulk ordering and quick re-ordering.
  • Wholesale enquiry forms You can replace the add to cart column with wholesale enquiry buttons. By adding buttons or links to the wholesale table, users can click through to a separate page with an enquiry form (created using a WordPress contact form plugin). Alternatively, use WooCommerce Product Table with a Request a Quote plugin.
  • Downloadable documents Lots of Woo wholesale websites provide downloadable files with technical product information. This is useful for downloadable promotional materials, specification documents, etc. You can add a column with an icon, button or text for each product linking to a downloadable PDF or similar.
  • Search, sort & filters Use filters to help wholesale buyers to find products quickly and easily.

Use quick view to speed up wholesale ordering

By now, you know how to create a WooCommerce wholesale website order form. But what if you want to show even more information or purchase options, without taking wholesale users to a separate page for each product?

You can do this by adding the WooCommerce Quick View Pro plugin. This wholesale quick view plugin lets you add quick view links or buttons to the order form. Trade customers can view extra product information, choose variations and add to the cart from a quick view lightbox.

Once they have made their selections, they immediately return to the wholesale order form where they can add more products to their order. As a result, it's much quicker than buying from a separate page.

There are lots of ways to tailor the quick view lightbox to your WooCommerce wholesale website. For example:

  • Choose whether or not to include images in the quick view popup. Many wholesale websites sell non-visual products, so there's no need to distract buyers with big images.
  • Decide whether to include quick view buttons, or just let customers open the lightbox by clicking the product name or image.
  • Change the wording of the Quick View button (e.g. to 'Configure Options', 'Read More' or 'Customize Product').
  • Choose which information to display in the wholesale lightbox.

5. Test your WooCommerce wholesale website

Now you've set up the WooCommerce wholesale plugin. It's also important to test the experience for both public and wholesale specific users.

  1. Log out and visit the shop as a guest. Can you see the correct products and pricing?
  2. Now login as a wholesale user. Again, can you see the correct products and pricing? Are the menu links intuitive, and can you see the wholesale order form layout (if you're using WooCommerce Product Table)?

Go back to the plugin settings and continue tweaking your wholesale website until it's perfect.

6. Add wholesale users to your WooCommerce store

Once you've finished testing the WooCommerce wholesale plugin, it's time to start adding wholesale users.

If you have enabled wholesale registration, then people can register for an account on the Wholesale Login page. You might also want to add wholesale users yourself. There are a few ways to do this:

  • Add wholesale users manuallyCreate a user account (Users → Add New) in the WordPress Dashboard for each wholesale user. Assign them to one of your wholesale roles.
  • Convert existing customers to wholesaleIf you want to convert an existing customer to wholesale, then you can easily do this by editing their account and choosing a wholesale user role from the 'Roles' dropdown.
  • Bulk import themIf you're migrating from another B2B eCommerce system and have a lot of wholesale users to import, then we have provided instructions on how to do this.

Whichever method you use to add them, your B2B e-commerce users can log into their account and access the private WooCommerce wholesale area. Guests and other user roles will never know it exists!

Bonus tips

Create a 100% private wholesale store

Some wholesale websites don't have a public eCommerce area at all. You can set up the WooCommerce wholesale plugin without a retail-facing store.

To do this, make sure all your product categories are marked as 'Wholesale Only'. This will hide them from public view and from search engines.

If you want to hide other parts of WooCommerce too - for example, the links to your cart and checkout pages - then we recommend using WooCommerce Wholesale Pro with our other WooCommerce B2B plugin, WooCommerce Private Store. Use WooCommerce Wholesale Pro for your wholesale registration, login, and to set different wholesale prices for each wholesale role - and use WooCommerce Private Store to ensure that those extra parts of your store are hidden from public view. (Note: Your non-WooCommerce pages - such as the homepage and blog - remain public.)

WooCommerce Private Store is designed specifically for stores that don't sell to the public. Just read what this happy customer said about it:

Exactly what I needed
Building a wholesale store, with a plugin, where only my accepted dealers can obtain access, was exactly what I was looking for - and Barn2Media provided exactly that plugin.... After watching the YouTube videos and communicating with Barn2Media, I had no doubts, that this was the right plugin for me - and it works just perfect....

Hide prices from non-wholesale users

Perhaps you have a wholesale-only store where you want the public to be able to browse the products, but not see the wholesale pricing. You can do this by enabling the 'Hide Prices Until Login' feature in WooCommerce Wholesale Pro.

This will hide the prices and add to cart buttons from logged out users. When non-wholesalers visit your store, they can browse products as usual, but the prices and purchase options will remain hidden.

Create wholesale-only products and pricing

Some WooCommerce wholesale websites provide specific products and/or pricing for each customer. For example:

  • You might sell custom products (e.g. branded items) that are specific to each wholesale user.
  • Alternatively, you might sell the same products to all your wholesalers, but need to charge user-specific pricing.

Luckily, the WooCommerce wholesale plugin comes with built-in product visibility options. You can choose whether each product category in your online store is available to retail customers, wholesale users, or both.

This is how to create wholesale-only products which are hidden from your retail store:

  1. First, set up WooCommerce Wholesale Pro, as described above.
  2. Next, go to Products → Categories in the WordPress Dashboard.
  3. Add or edit a product category. Either way, find the 'Visibility' settings which are added by the WooCommerce wholesale plugin. The default is 'Public and Wholesale', so change this to 'Wholesale Only'.
Wholesale category discount visibility options

Create retail-only products

Of course, you also might want to create products which are available to public retail customers but not wholesale users. You can do that with WooCommerce Wholesale Pro too.

Simply follow the instructions in the previous section. The only difference is that you need to set the category to 'Public Only', and this will hide it from the WooCommerce wholesale area.

Add wholesale-only payment methods

As we discussed earlier, wholesale buyers often have fundamentally different needs from normal retail customers. After all, wholesalers are regular customers who are buying in bulk, rather than browsing for their own personal use.

As a result, many WooCommerce wholesale websites need to offer different payment methods for each type of user. For example:

  • Imagine that you want to offer PayPal to retail customers but not wholesale buyers due to the high PayPal fees.
  • Maybe you want wholesale customers to pay by invoice or bank transfer/BACS, while requiring instant online payment from regular customers.

The solution is to use the role-based payments feature in WooCommerce Wholesale Pro:

  1. Go to WooCommerce → Settings → Payments.
  2. First, make sure you have added all the payment methods that you will be offering, such as PayPal, credit card, invoice, etc.
  3. Next, find the 'Payment Roles' page.
  4. For each payment method on your store, select which user role(s) it will be available to.

One you've done that, guests and normal customers will only see the payment gateways which are available to their role. Similarly, wholesale buyers will only see the payment methods for their role.

Create wholesale-only shipping methods

Shipping products to wholesale customers can be very different to shipping retail orders. That's because wholesale orders tend to be in bulk and involve much larger quantities. As a result, you may want to offer different shipping methods and costs to each type of customer.

For example:

  • Lots of online shops offer flat rate shipping costs or free shipping to retail customers. In contrast, they're more likely to cover their costs by offering weight-based shipping to wholesale buyers using a plugin like YITH Product Shipping.
  • In addition, some WooCommerce wholesale websites offer free shipping to their highest tier of wholesale users. This might be buyers with the highest historical sales, as offering free shipping is a way to reward them for their loyalty.

You can do this using the role-based shipping methods feature in WooCommerce Wholesale Pro:

  1. In the WordPress Dashboard, go to WooCommerce → Settings → Shipping.
  2. Add all the different shipping methods and costs that you require for each shipping zone.
  3. Now go to the 'Shipping Roles' tab within the same section.
  4. Use the options on the page to choose which shipping methods will be available to each user role. Select different shipping methods for retail and wholesale customers.

Or if you don't want to worry about shipping to wholesale users, consider a dropshipping arrangement where the order fulfilment is handled by a third party.

FAQ

1. Do you need a plugin to create a wholesale website?

If you're creating a 100% wholesale website with no retail area then you might be able to do it without a plugin. Instead of using a WooCommerce wholesale plugin, you would need to ask your hosting company to password protect the entire site. You can then give the password to your wholesale buyers so that they can login and purchase.

I believe this is a bad way to create a wholesale website because:

  • The entire website will be private. This means that you can't have any public pages. No homepage, no About page, no wholesale registration page. The website will be completely hidden from search engines and you will have no public online presence 🙁
  • Without a plugin, you must charge the same prices to all wholesale users. Plugins are essential to create multiple wholesale pricing tiers.
  • Passwords are easily shared and are less secure than having unique logins for each wholesale buyer.

As a result, it's far better to use a plugin to create your WooCommerce B2B website.

2. What is the difference between a WooCommerce wholesale website and a standard online store?

The main difference between a wholesale store and a regular WooCommerce store is the target audience and the pricing structure:

  • A regular WooCommerce store is typically geared towards individual customers who purchase products at retail prices. These customers are usually looking to purchase products for personal use or in small quantities. The pricing structure for a regular WooCommerce store is usually set at retail prices, which are higher than wholesale prices.
  • On the other hand, a wholesale website is geared towards bulk buyers who purchase products at wholesale prices. Wholesale buyers are usually looking to purchase products in large quantities for resale purposes. The pricing structure for a wholesale store is set at wholesale prices, which are lower than retail prices.

However, a wholesale website may have other differences too. For example, a wholesale area might use an order-form style layout designed to select products more quickly, whereas a retail site is designed for browsing. A wholesale area might have different payment and shipping options from a retail store.

3. Can I showcase my offerings to both wholesale and retail customers?

Absolutely. When you use WooCommerce Wholesale Pro to create a wholesale website, you can sell the same products to different customers at different prices. Each customer sees the correct pricing for their role, so there's no duplication.

Ready to create a wholesale website in less than 15 minutes?

If you've been wondering "How long does it take to create a wholesale website?" then I hope this tutorial has given you the answer.

WooCommerce Wholesale Pro is a plug-and-play solution to help store owners and developers to create a professional wholesale area in minutes. It's the best WooCommerce B2B plugin for online store owners that want to sell to different types of customers.

No technical knowledge is needed. Just follow the instructions in this tutorial, and you'll be up and running in no time.

  • WooCommerce wholesale plugin with quick plug-and-play setup.
  • In-depth documentation and video tutorials showing you ever step and every click (absolutely no way to get it wrong!).
  • Technical support is available if you need any help.
  • Zero-risk 30 day money back guarantee. Love it or get a full refund!

Get the WooCommerce B2B plugin here, and start taking wholesale orders TODAY 🚀

If you're looking to create a food delivery or takeaway service for your restaurant, WooCommerce for restaurants is a great solution. With a WordPress food delivery plugin and WooCommerce, setting up an online ordering system on your website is easy. Keep reading to learn how you can implement WooCommerce for restaurants and create a seamless online ordering experience for your customers.

In this tutorial, we'll be focusing on how to create a restaurant ordering system using WooCommerce for restaurants. Restaurants can greatly benefit from having an online food ordering system because:

  • It allows customers to place their orders directly from the restaurant's website, saving them time and effort.
  • Best online ordering for restaurants can also help manage their orders more efficiently and reduce the workload on their staff.

Whether you're a seasoned WooCommerce user or just starting out, this free tutorial will guide you through the process of setting up a restaurant ordering system step by step. By the end, you will have a fully functional online food ordering system. It will allow customers to place their orders, select their pickup or delivery options, and make payments securely.

WooCommerce restaurant plugin
And the best part?

Your WooCommerce for restaurants ordering system will be 100% yours. You own your data, and you get to keep 100% of your profits.

Sound good? Let’s get started!

Why a WooCommerce for restaurants plugin is the best (and cheapest) way to take food orders online

Before we dive into the tutorial, let's look at why a WooCommerce food plugin for restaurants is the best option for taking food orders online.

Many restaurants use hosted third-party services like Just Eat, Uber Eats, Deliveroo and Grubhub. By listing your restaurant with these platforms, you have access to a huge market of potential online food delivery customers. However, it’s not ideal for everyone.

Hosted platforms take a big cut of the revenue from your online restaurant orders. For example, Just Eat takes 14% at the time of writing. Whilst they have a massive user base, you're competing with other restaurants on the same platform, so it's easy for your restaurant to get lost.

As with any hosted system, you don't have full control over your customer data. You have no control over the functionality of your online restaurant ordering system - you can't customize it or add new features.

WooCommerce restaurant plugin with opening hours

If you’re looking for a low-cost Just Eat alternative without the fees, this tutorial will teach how you to create a bespoke online food ordering system.

We'll do it using a WordPress food delivery plugin. This means that you don't have to worry about the problems of affiliating to a third-party platform. In addition, having a WooCommerce for restaurants food ordering system on your main restaurant website will make your business appear more professional. It encourages customers to spend more time on your site, building loyalty.

What will my WooCommerce for restaurants ordering system cost?

Online food delivery system integrated with kitchen

There are financial advantages to getting a WordPress site for your restaurant. Almost all of the costs are fixed one-off, upfront fees. As a result, rather than losing a percentage of every sale, the benefit improves with every order you receive. You start saving money almost immediately.

These are the costs of building the food ordering website described in this tutorial:

  • WordPress content management system – free of charge.
  • WooCommerce plugin – free of charge.
  • WooCommerce Restaurant Ordering plugin.
  • WordPress theme – free of charge (you could buy a premium WooCommerce restaurant theme for ~$65, but this tutorial will show you how to add the best online ordering for restaurants website using a free theme).
  • Ongoing web hosting – web hosting comes at all different price points to suit any size of business. We recommend Kinsta's premium WordPress hosting which is ideal for an ecommerce website with an online restaurant ordering system. For lower budgets, SiteGround is also good.
  • Payment processor fees – if offer online payment methods (which isn’t essential) then your payment gateway will take a percentage of the fees. This is normally a few percent - much cheaper than Just Eat’s 14%.

As you can see, setting up a WordPress food delivery system plugin yourself is far cheaper than using a third-party platform such as Just Eat.

Still not convinced? Let me show you how simple it is to set up a WooCommerce for restaurants ordering system.

Should I create a DIY WordPress food delivery website, or hire a developer?

Below, I'm going to tell you how to create a WooCommerce for restaurants ordering website using a simple WordPress food delivery system plugin. This is a great option and you don't need any technical know-how.

If you'd rather have someone else set up the website for you, just forward this tutorial to any WordPress developer.

To build your own WooCommerce for restaurant order system, keep reading and I'll show you how.

How to create a WooCommerce for restaurant ordering website

In this video tutorial, you can watch me create a restaurant online food ordering system. Build yours alongside me, or read the written tutorial below.

The following tutorial covers every step of setting up a WooCommerce restaurant website:

  1. Create a WordPress websiteWordPress is the world's web building platform. It powers your overall website and makes it easy to add pages and edit content.
  2. Install WooCommerceWooCommerce is the world’s top e-commerce platform, powering over 41% of online stores. We'll use WooCommerce to add products and categories, take payments online (including PayPal and credit card), and add delivery and collection.
  3. Install WooCommerce Restaurant OrderingThis plugin converts your WooCommerce store into a fully-fledged food ordering system, displaying your products in a user-friendly one-page restaurant ordering system so that customers can browse, pick, and customize their orders. It also lets you set opening times and prevent ordering when you're closed.
  4. Add options to your food productsI'll show you 2 easy ways to add extra options for your food items, such as size choices or selling pizza toppings.
  5. Delivery and collectionWe'll discover how to add a range of delivery and collection options.
  6. Bonus tipsFinally, I'll share some extra tips on perfecting your WooCommerce restaurant ordering system. This includes accepting tips online to increase your average order value; selling discounted meal deals; and online ordering for multiple restaurant chains.

1. Create a WordPress website

This tutorial assumes that you already have a WordPress website for your restaurant. If not, there are loads of online resources to help you get started with WordPress.

Since this tutorial is aimed at non-coders, I recommend using a WooCommerce-ready theme for the design of your website. The screenshots in this article were all created using Storefront. This is a high-quality, free WP theme from the makers of WooCommerce. If you prefer, then you can use a WooCommerce restaurant theme such as Delicio.

Delicio theme uses Woocommerce Restaurant Ordering plugin by Barn2
The WooCommerce Restaurant Ordering plugin with the Delicio theme

2. Install and set up WooCommerce

Once you’ve got a WP website with a WooCommerce-ready theme installed, it's time to install WooCommerce. This will be the core of your online restaurant food ordering system and the basis for installing your WordPress food delivery system plugin, providing behind-the-scenes e-commerce features such as the shopping cart, checkout, and online payments.

However, we won’t be using Woo to display your food menu items. You’ll need WooCommerce Restaurant Ordering for that, which we’ll cover in Step 3.

2a. How to install WooCommerce

  1. Log into the WordPress dashboard for your website.
  2. Go to Plugins → Add New.
  3. Search for 'WooCommerce', and install and activate the plugin.
  4. A button will appear towards the top of the WordPress admin prompting you to enter the WooCommerce setup wizard. Go through the wizard and enter your currency, tax details, etc. (Ignore shipping as we'll do this in step 5). Tell the wizard to create the basic pages needed for WooCommerce such as Shop, Cart, and Checkout.
  5. In the payment options section of the setup wizard, choose 'PayPal Payments Standard' and enter your PayPal email address. This is the quickest way to get started and you can always set up other payment options later. If you don’t want to take online payments, select 'Cash on delivery' and your restaurant staff or delivery drivers can take payment instead. To take credit/debit card payments without PayPal, then select 'Stripe' and follow the onscreen instructions.

2b. Create product categories for your restaurant menu

Online restaurant ordering WooCommerce categories
Most restaurant menus are divided into sections: Starters, Pizza, Salads, Desserts, Drinks, and so on. You need to create a separate WooCommerce product category for each section of your restaurant menu:

  1. Look at how your food delivery menu is structured and write a list of categories.
  2. In the WordPress admin, go to Products → Categories.
  3. In the 'Add New Product Category' section on the left, create a category for each section on your online menu. Add a Name and Slug, plus a description if you want to display some introductory text for the category on the food order form.
  4. Click the blue 'Add New Product Category' button.

The WooCommerce product categories you’ve just created for your menu will appear in a list on the right-hand side of the page.

2c. Add each dish or meal as a WooCommerce product

Next, add each food from your restaurant menu as a WooCommerce product.

In the WordPress admin, go to Products → Add New. Add the information highlighted in the screenshot below:

  1. Title – The name of the dish to appear in the online restaurant ordering system.
  2. Long Description (optional) – This can appear in the lightbox popup for each food (if you enable lightboxes in step 3). It's ideal for listing allergens and nutritional information.
  3. Product Data – Choose a product type. If your restaurant only offers 1 version of the dish then choose 'Simple Product' and add the price. If you offer choices (e.g. Small, Medium, and Large), choose 'Variable Product' and add the remaining information in step 4.
  4. Product Short Description (optional) – Use this to display extra information about the meal. This can appear on your one-page restaurant order form. It's a good place to list nutritional symbols, such as "GF, VG" for a dish that is Gluten Free and Vegan.
  5. Product Categories – Tick the menu category that the food should appear in. (WooCommerce lets you select multiple categories but most online restaurant ordering systems would have 1 category for each food, just like a printed menu.)
  6. Product Image (optional) – Click 'Add Featured Image' and upload a picture of the food. Restaurant food photography is a skill and it’s worth getting this done professionally. If your online restaurant order form will have small images then keep the file sizes small.
  7. Publish – Click the blue 'Publish' button.
WooCommerce restaurant ordering system

3. Install WooCommerce Restaurant Ordering

By now you've set up WooCommerce, added your dishes and structured them into the sections on your restaurant menu. Next, it's time to create a one-page food order form so that hungry customers can quickly build their meals and order online.

We'll do this using the powerful WooCommerce Restaurant Ordering plugin. WooCommerce provides its own layouts but they're not suitable for an online food ordering system. As a WordPress food delivery plugin, WooCommerce for Restaurant Ordering lists your menu in a one-page order form which is perfect for food ordering.

3a. Install WooCommerce Restaurant Ordering

  1. Buy the WooCommerce Restaurant Ordering plugin.
  2. Download the plugin files and copy your license key from the order confirmation page or email.
  3. In the WordPress admin, go to Plugins → Add New → Upload.
  4. Upload the zip file for WooCommerce Restaurant Ordering and activate the plugin.
  5. Go to WooCommerce → Settings → Restaurant and enter your license key. Here, you can also choose the default settings for your restaurant food order forms. Use these to configure the order forms. Also add opening times so that people can only order food while you're open.
WooCommerce Restaurant Ordering plugin settings

3b. View your restaurant ordering page

When you activated WooCommerce Restaurant Ordering, the plugin automatically created a one-page food ordering system for you. This lists all your food products, divided by category.

Find the page under the Pages section of the WordPress admin, and see how it looks!

WooCommerce resturant plugin flexible food order forms
These are just some of the many ways you can list foods with WooCommerce Restaurant Ordering

Next, you need an easy way for customers to review and complete their restaurant orders. The best way to do this is to install the WooCommerce Fast Cart plugin. This adds a floating cart popup so that customers can make changes, enter their details and check out without leaving the page. It's really flexible and you can choose whether to open the popup automatically as soon as customers add foods to their order or to display a clickable floating cart icon instead. 

WooCommerce restaurant floating cart
A website using WooCommerce Restaurant Ordering with the Fast Cart plugin.

2c. Create more food order forms (optional)

So far, you've learned how to use the default restaurant ordering page, which lists all your foods by category. If you need more flexibility, then you can also create food order forms individually.

You can do this by adding a [restaurant_ordering] shortcode anywhere on your site. Use the shortcode options to choose which categories to include, and customize the settings. This might be useful if:

  • You're listing foods on more than one page of your website, for example with one page per category.
  • You'd like to use different settings for each food order form, such as showing images or descriptions for some categories and not others.

4. Add options to your food products

If you only offer 1 version of each dish, you can ignore this section. If you want to give customers a choice – for example to choose a size or select pizza toppings – then you need product variations or add-ons.

Variable products are built into WooCommerce. You can list each type of variation as a dropdown list alongside each product in your online restaurant ordering system. Customers can select 1 variation from each list.

If you want customers to be able to make multiple selections, then you need add-ons instead. You can add more flexible options with the WooCommerce Product Options plugin. It works perfectly with WooCommerce Restaurant Ordering plugin we're using for the food order system. You can use it to add checkboxes, radio buttons, multi-select dropdowns, text input fields where the customer can type a special message, and more. For example, a WooCommerce pizza restaurant will need Product Options so that customers can order as many extra toppings as they like.

WooCommerce restaurant variations and add-ons
An example of a pizza with product variations for Pizza Size, and add-ons for Crust Style and Extra Toppings.

Next, I'll show you how to add both types of extra product options. You can use them separately or together in your WooCommerce restaurant ordering system.

Adding product variations

  1. Select 'Variable product' in the 'Product Data' section of the 'Add/Edit Product' page.
  2. Go to the 'Attributes' tab, add the product information that customers will be choosing between, and tick 'Used for variations'.
    WooCommerce restaurant ordering system
  3. Go to the 'Variations' tab.
  4. Either select 'Create variations from all attributes' from the dropdown, or add each variation individually and click 'Go'.
  5. Click the little triangle arrow that appears when you hover over a variation and add the variation price and any other information.
    Add Variation WooCommerce restaurant ordering system
  6. Finally, click 'Save changes'. When customers click on food in the restaurant order form, they can choose the variations from a lightbox before adding it to the cart.

How to create Product Add-Ons

  1. Buy, install, and activate the WooCommerce Product Options plugin.
  2. Go to Products → Product Options in the WordPress admin.
  3. Add as many options as you like, structured into groups.
  4. When customers click on a food product in your WooCommerce restaurant order form, the add-ons will appear for them to select in a lightbox.
WooCommerce restaurant order form with extra options

5. Set up delivery, collection and delivery time slots

WooCommerce offers lots of delivery options, which are perfect for restaurants. The free WooCommerce plugin lets you set up delivery areas and delivery or collection options. You can also use an additional plugin to let customers choose a specific delivery time or collection slot.

5a. Delivery areas and options

You can find these in the WooCommerce → Settings → Shipping section of the WordPress admin.

Here are some suggested shipping options that are useful for online restaurant ordering:

  • Shipping zonesCreate one or more shipping zones for your different delivery areas. For example, if you offer free shipping for certain zip codes and charge for delivery in other areas, then set up 2 shipping zones. If you also offer collection, add a third shipping zone so that people can 'click and collect' wherever they live.
  • Shipping optionsAdd one or more delivery options for each shipping zone. For example, your 'Local Delivery Area' shipping zone might have a 'Free Delivery' option for orders over $20, a $5 'Flat Rate' option for lower value orders, and a 'Local Pickup' option for customers wishing to collect their takeout meal.
WooCommerce restaurant delivery options
An example of WooCommerce delivery options for a typical restaurant

Let customers check the delivery area before they start ordering

To make your online restaurant ordering system more user-friendly, I recommend adding details of your delivery area elsewhere on your site. Here are some ideas on how you can do this:

  • Woo Delivery Area Pro pluginAdd a 'Delivery Area' page to your restaurant website.
  • If your website has a sidebar (right or left column), add a widget about your restaurant's delivery area. Or even better, add a custom Google map showing your online food delivery area.
  • Install the Woo Delivery Area Pro plugin so that customers can check they're in your delivery area before they start building their meal.

5b. Delivery time slots

Some restaurants like to deliver their online orders as soon as they're ready. Others let customers order in advance and choose a specific time slot. As a restaurant, you might want to take up to 5 online food orders in each half-hour period, and make sure they order at least 15 minutes in advance of their time slot. You can do this with the WooCommerce Opening Hours & Chosen Times plugin.

This excellent plugin lets customers choose a delivery date and time slot, subject to your restaurant's opening hours and capacity. You can restrict the number of bookings per time slot. You can specify how long customers must place their orders before their time slot, giving the kitchen plenty of time to prepare the meal.

6. Bonus tips

Before we finish, I'll share some more top tips for perfecting your WooCommerce restaurant ordering system. You'll learn how to accept tips online, sell meal deals, and more. If you operate a chain of restaurants, then you'll also learn how to adapt this tutorial to set up the best online ordering for restaurants for multiple sites.

Encourage customers to leave a tip

All over the world, restaurant customers expect to leave a tip. Don't miss out just because you're selling online! You can add tipping to your WooCommerce restaurant website using the WooCommerce Donation Or Tip On Cart And Checkout plugin.

This handy plugin adds a 'Tip' field to the WooCommerce checkout page. Customers can enter the value of their tip, significantly increasing your average order value.

Most restaurant customers add a tip of 10-15% of the total order value, depending on your country. Use the plugin to set a default tip as a percentage of the order value. To encourage bigger tips, set the default tip at the upper end of the usual amount in your country. Customers can then override the suggested tip as required.

Manage your delivery drivers

Most WooCommerce restaurant ordering systems use local drivers to deliver the orders.

You can manage your delivery drivers outside of the website. Alternatively, you can save time with the free Delivery Drivers for WooCommerce plugin. This WordPress plugin automates many of the manual tasks, connecting your drivers with your online systems and the customer.

Sell restaurant meal deals

WooCommerce Quantity Manager restaurant plugin

Lots of WooCommerce for restaurants websites provide special offers and meal deals. These are fantastic incentives to encourage customers to buy more.

Use WooCommerce for restaurants ordering with the Quantity Manager plugin to control how many items customers can buy from each category. For example, you might sell a meal deal for two people where they can buy 2 starters, 2 mains, and spend up to $15 on side dishes.

You can also use the official WooCommerce Dynamic Pricing plugin to create restaurant deals and special offers. For example, you can create buy one get one free (BOGOF) meal deals, or buy one pizza and get 50% off your second one. These deals can be global or specific to a category, so you can offer deals on pizzas or sandwiches while keeping the side dishes and desserts at full price, and so on.

Mobile ordering for restaurants

WooCommerce doesn't come with a mobile app for customers to order via their smartphones. However, most WordPress themes are fully responsive, which means they're mobile-friendly and look great on any device.

This means that your customers can view your foods and order from your restaurant online using their device of choice - no need to worry about setting up a separate mobile app!

Managing orders in your WooCommerce for restaurants' food ordering system

There are many ways to manage the online food orders that your restaurant receives in WooCommerce:

Email notification of new restaurant orders

When you receive an order, you will receive an email notification from WooCommerce. Your kitchen staff can monitor this email address and be notified as soon as an order arrives.

If you have a busy restaurant with many online orders, then keep the WordPress admin open on your screen during your restaurant opening hours. Train your staff to refresh the WooCommerce → Orders page regularly so they can take action as soon as a food delivery order is received.

WooCommerce for restaurants mobile app

The official WooCommerce iOS mobile app lets you view and manage restaurant orders from any Apple iPhone or iPad. It's often more convenient for restaurant owners and staff to use mobiles or tablets than desktop computers.

Auto-print new food orders to the kitchen

You can integrate your WooCommerce for restaurants' food ordering system with a GPRS printer. This will automatically print new online restaurant orders as soon as they're received. We recommend the WooCommerce Automatic Order Printing plugin.

Receive an alert when you receive a WooCommerce for restaurants order

Use YITH WooCommerce Desktop Notifications to automatically play a sound alert on your desktop computer, laptop, or tablet whenever you receive a new order.

If you'd rather receive a text when you receive a new order from your WooCommerce for restaurant website, try the SMS Alert Order Notifications plugin. You can also use the Twilio SMS Notifications plugin to send the customer a text when their order is ready.

WooCommerce can be integrated with many external systems. If you're using a specific system to manage your restaurant orders, look up how this can be integrated with WooCommerce.

Think creatively and you'll be surprised how easy it is to integrate your WooCommerce for restaurant ordering system with your existing kitchen processes.

Online ordering for multiple restaurants

So far, we've talked about creating a WooCommerce restaurant ordering system for a single location, using a WordPress food delivery plugin. With a couple of tweaks, you can extend this to take orders for multiple restaurants or entire restaurant chains. There are 2 ways to achieve this:

Method 1 – WordPress multisite, with a separate site for each restaurant

You may want to keep your WooCommerce for restaurants really separate, with unique content for each one (e.g. a different homepage, about page and contact us). If so, you can use WordPress multisite to create a separate sub-site for each restaurant in the chain. This is better than having completely separate websites because you get the best of both worlds: a single WordPress food delivery plugin installation with shared hosting and maintenance costs; with unique content for each restaurant.

WooCommerce for restaurant ordering will be active on each site. However, each site will have its own set of products and order notification settings, avoiding any crossover.

WPBeginner has an excellent article on How to install and set up WordPress Multisite Network. This is compatible with all the steps in the above tutorial.

Method 2 – Single website, with separate categories & order notifications for each restaurant

A simpler option is to take orders for each restaurant from your main WordPress website. There are two ways you can do this:

  • Create separate product categories for each restaurant. On the online food ordering system page for each restaurant, use WooCommerce Restaurant Ordering to list products from the appropriate categories.
  • Alternatively, use either the official Product Vendors add-on or the Dokan Multivendor plugin to add products from multiple vendors (treat each restaurant as a separate vendor). Each vendor has their own product categories. Enable the 'Category pages' option in WooCommerce Restaurant Ordering and the beautiful food order form layout will be used for each vendor's products.

Whichever method you choose, you can use the WooCommerce Multiple Email Recipients Notifications plugin to send order notifications to a different email address depending on which category the customer has ordered from. This lets you ensure that the new order emails are sent to the correct restaurant. As a result, your entire WooCommerce restaurant online  food ordering system remains on a single website - while taking orders from multiple restaurants.

Online Chinese takeaway ordering system

Case study: Online Ordering for Ciao Italia

Ciao Italia is an Italian restaurant in the US that started offering curbside pickup to its customers during the COVID-19 pandemic. They use our WooCommerce Restaurant Ordering plugin to let customers place their orders online from home.

Ciao Italia Ristorante one-page food order form

The restaurant displays its entire menu (including food, beverages, and a gift card) on a one-page order form. It does this by sorting the food items under different categories and displaying all of the categories on the menu page. Customers can simply click the (+) icon to add food items to the cart. When a customer adds an item to their cart, they see additional purchasing options in a lightbox.

Food order form lightbox with purchasing options

For example, you can use the lightbox to choose the quantity of food or beverages. If you're buying a gift card, then you can choose the value in any denomination. (Tip: They sell gift cards using the 'Customer Defined Price' option in the Product Add-Ons plugin.)

The one-page food order form makes it quick and easy for customers to place their orders and proceed to the checkout page.

Adam Tracksler from Bryce Creative developed the website. He was delighted with WooCommerce Restaurant Ordering:

A Perfect Plug-in for Today’s Needs
In today’s environment of having to act nimbly for clients, the WooCommerce Restaurant Ordering plugin is the perfect solution for getting a website running quickly. We were able to launch on day one with the help of this plugin. It took all the heavy lifting out of the equation and let us focus on design. If you are debating whether or not this is the solution for getting a restaurant going — look no further, this is the plugin you want. The support is also top-notch!

Want to set up online ordering for your restaurant in 15 minutes?

And there you have it! If you follow all the steps in this tutorial then you can create a complete online food ordering system with an easy-to-use WordPress food delivery plugin.

You've learned how to install and set up the WooCommerce platform to handle all of your menu's food products. You've also seen how you can use the WooCommerce Restaurant Ordering plugin to create customizable food order forms. Customers can choose their selections from each customer, and then place their order and pay online.

By using a WordPress food delivery plugin and WooCommerce as an alternative to Just Eat or other systems, your restaurant can save many thousands of dollars or pounds. It's easy to set up, easy to manage and will look really professional.

  • Easy plug-and-play setup.
  • Comes with full support and expert advice.
  • 30-day money back guarantee - love it or your money back!

Get WooCommerce Restaurant Ordering here, and start selling food online TODAY →

WordPress ebook plugin

If you're looking for a WordPress eBook plugin, you've come to the right place. This is the complete guide to listing and selling digital eBooks in WordPress. I'll show you how to choose the right WordPress eBook plugin for your site - whether you want an eBook library plugin with downloadable PDF's, or an eBook store plugin with e-commerce.

In this article, I'll teach you about 3 methods for creating a WordPress digital eBook library. Each method uses one of our table-based WordPress eBook plugins, and I'll recommend the best plugin for your needs. The plugins are ideal for creating a WordPress eBook library (like Scribd) or eBook store. The eBooks are listed in a searchable, sortable table layout with filters.

WordPress ebook plugin e-commerce
Jump straight to the instructions for the method you need:
  1. Method 1 - Create an eBook library with downloadable or embedded books
    This is a non-ecommerce option, as people can read eBooks online or download the eBooks. You can add any eBook file type, such as PDF, EPUB, MOBI or Kindle. People can then add them to their e-readers (like Kindle or NOOK) or smartphone (Apple or Android device). It's suitable for lists of free eBooks, or eBook membership sites (i.e. an ebook subscription service) where you sell subscriptions giving access to your downloadable WordPress eBook library.
  2. Methods 2 and 3 - Build an e-commerce eBook library
    This is a full e-commerce option, where people can view your eBooks in a searchable table and purchase each one individually. They will then receive a protected eBook download link that they can add to their library e.g. in Amazon Kindle or Barnes & Noble NOOK ebook readers. You can choose between two popular WordPress eBook store plugins: WooCommerce and Easy Digital Downloads.
  3. Perfecting your eBook library
    Whichever method you follow, use this section to add the finishing touches that will make your eBook digital library a success. I'll show you how to create filters to make your eBooks easier to find, plus extras such as adding embedded audio players or flipbooks to a WordPress audiobook library. You'll even learn how to create a private members-only ebook library that is hidden from public view.

Choosing a WordPress eBook plugin

Our WordPress eBook plugins are ideal because you can list lots of digital books on each page. Users don't have to waste time scrolling through multiple pages. You can even include extra data about each eBook such as the author, blurb, image, publisher, year - whatever you like! This also improves search engine rankings in Google.

Your users can quickly search, sort and filter the list to find an eBook they're interested in. They can then either click to download a WordPress eBook PDF or other format such as EPUB or MOBI (depending on the device they're using such as a Kindle, NOOK, or an Apple/Android device like an iPad or iPhone). Or if you're using an e-commerce plugin, then they can add eBooks to the cart directly from the table of eBooks.

I'll recommend a suitable WordPress eBook plugin in the relevant sections of this tutorial. Read about the method you're interested in, and I'll tell you how to set it up and which WordPress eBook store plugins to use.

Let's get started!

What can you sell with a WordPress or WooCommerce eBook plugin?

People use the term 'eBook' to mean lots of different things. In a nutshell, an e-book refers to any book or other document that you download and read electronically, or read online. It doesn't refer to printed books, or web content that you read directly on a website.

This includes:

  • Type of book - fiction or non-fiction, science fiction, storybook, thrillers, textbooks.
  • Any non-fiction genre - autobiographies, biographies, creative writing, history, journalism, law, memoirs, philosophy, religion, self-help.
  • Reference books - user manuals and handbooks, DIY books, travel guides, recipe books.
  • Academic publications - commentary, critiques, downloadable essays, reports, scientific papers, white papers.
  • Other ebook formats - music manuscripts, poetry, songbooks.

It's a diverse list, but what they all have in common is that they are downloadable and read on a computer, table or smartphone. That's what makes them an eBook.

Now we know what we're talking about, let's dive right in and learn how to create a WordPress eBook library like Scribd.

Method 1 - Create a WordPress eBook library with downloadable eBooks

Method 1 is about creating a digital library of eBooks similar to Scribd. It uses our Document Library Pro plugin to create a searchable, filterable table listing your eBooks.

This method is ideal if you want to create a WordPress eBook library with downloadable eBook links. Users can find a digital book and click to download it as an eBook PDF or whatever format you decide to use. It's suitable for free digital eBook libraries, and WordPress membership sites where people are given access to a protected eBook library e.g. ebooks with DRM.

Method 1 is NOT suitable if you want to sell each eBook individually - you'll need a WordPress eBook store plugin as well as an e-commerce plugin for that. If this is what you need then jump to Method 2 instead.

Method 1 has two straightforward steps:

  1. Add your eBooks to WordPress
  2. Use the WordPress eBook plugin to list eBooks in a table

Step 1 - Add your eBooks to WordPress

First, install Document Library Pro and use it to add your eBooks to WordPress. This is really easy because the plugin creates a dedicated 'Documents' section to the WordPress admin. In your case, 'Documents' are actually 'eBooks'!

Add each eBook as a separate 'Document':

  1. Go to the Documents → Add New page.
  2. Use the 'Document Links' section to upload the eBook. Alternatively, if it's hosted elsewhere (e.g. on Amazon Kindle), then you can add the URL here. Either way, users can click on a button in the eBook library to access the eBook.
  3. Add the information that you want to display about each eBook:
    • Title - add the eBook title.
    • Categories and tags - add any categories or tags that will let people sort and filter the eBook in the digital library.
    • Featured Image - upload an image, if you're planning to include these in the WordPress eBook library. This will probably be an image of the eBook front cover or author, similar to how ebook retailers like Amazon (United States) or Kobo (Canada) do it.
    • Excerpt - Use this to add the eBook's blurb or description. The WordPress eBook plugin can include this as a column in the table.
    • Content - Use this to add any extra information that you want to display in the eBook library. In the bonus section later in this tutorial, I'll also show you how to embed eBooks directly into the content field so that people can read them online.

Adding eBooks in bulk

If you have too many eBooks to add manually, that's fine. Document Library Pro provides several ways to import eBooks in bulk.

Create any extra fields for your eBook library

If you need to include any additional fields in your eBook then you can do this by creating custom fields and taxonomies. As a general rule, use custom fields for storing unique data about each eBook such as ISBN number or barcode. Use taxonomies for filterable data such as topic, publisher, year or author. For example, you might create a taxonomy that marks bestsellers or ebooks with DRM. This way, customers can easily sort them by new releases, popular ebooks, or DRM-free ebooks.

Once you've created the extra fields for your eBook post type, you can add the data for each eBook. You can list all these extra fields in the digital library using the WordPress eBook plugin - which brings us to Step 2...

Step 2 - Use the WordPress eBook plugin to list eBooks in a table

By now, you've added your eBooks to WordPress. Great! Now comes the fun part - it's time to create your WordPress eBook library similar to the Kindle store.

Navigate to the 'Pages' area in the WordPress admin and find a page named 'Document Library'. Change the name and permalink to something related to eBooks, such as 'eBook Library'.

Next, view the page and you'll see the first draft of your WordPress eBook library.

WordPress eBook library plugin

It looks pretty good straight out of the box, and you can use the plugin settings page to fine-tune it as needed. For example, you can change how the download links work, and which columns appear in the table.

If you've structured the eBook library into categories, then you can also enable the 'Folders' option. This will list each eBook category separately. Users can click on a category name (i.e. a folder) to view the eBooks from that category.

That's everything you need for a professional-looking WordPress eBook library. If you want to make any further changes to it, skip to the section on Perfecting your eBook Library.

Sell membership access or add ebook subscription service to your WordPress eBook library

So far, I've shown you how to create a table of eBooks that is available for everyone to access. If you don't want this, then there are a few WordPress plugins to protect your eBook library and restrict it from public view. Here are 3 suggestions of how you can achieve this.

Hide the eBook library with Password Protected Categories

Our WordPress Password Protected Categories plugin lets you put all your eBooks in a category and password protect that category. This will password protect your eBook digital library so that only people with the password can access it.

Use Groups to restrict access to authorized users only

The free Groups WordPress plugin is an easy-to-use free WordPress membership plugin. It offers an easy way to create 'hidden' areas of your website that only logged in users with access to the appropriate 'Group' can access.

This method is useful to making a WordPress eBook library available to pre-approved people only similar to Kindle Unlimited. For example, you might want to make it available to members of your organization, employees, or book club. Each person needs to have a user account on your WordPress website. You need to give each person access to the eBook Library Group manually. (If you want to sell access to the eBook library then you can still use the Groups plugin - but you'll also need some extra plugins which I'll cover in the next section.)

Restricted eBook library pluginInstall the Groups plugin, create your eBook library as described above, and create a Group called 'eBook Library' or similar. Go to to the eBook library page with the product table and restrict it to members of the eBook Library Group.

To give people access to the eBook library, you need to add them as users in WordPress (Users → Add New). Select the eBook Library Group from the dropdown on the Add/Edit User page. When they log into their account, they will be able to access the protected eBook library.

Use the Groups plugin documentation to make further changes. For example, you can create a message that will appear when unauthorized users try to access the hidden eBook library.

Sell subscriptions to your WordPress eBook library

You can sell access to the eBook library using the WooCommerce plugin with the Groups for WooCommerce add-on - plus Subscriptions if you want to take regular payments. This builds on the 'Groups' method in the previous section by integrating the hidden eBook library with the world leading e-commerce plugin and the ability for people to subscribe online.

Some tips on which combination of plugins to use:

  • If you want people to make a one-off payment to your eBook library then you can do this using Groups, WooCommerce and Groups for WooCommerce. Sell access to the eBook Library Group as a product in WooCommerce, so that people can buy it on your website.
  • If you want people to make an ongoing subscription to the digital eBook library, then you'll also need the Subscriptions plugin. You still need to sell access to the eBook Library Group using WooCommerce, but buying this product will sign people up to an ongoing subscription.  This is similar to the Kindle Unlimited implementation. Payment will be taken regularly (e.g. using PayPal or Stripe) so that the customer can continue accessing the eBook library. If they ever cancel the subscription then their access to the Group will be revoked.

Method 2 - Build an e-commerce eBook library

Method 1 showed you how to create a downloadable eBook library - either public, or restricted to specific people. In Method 2, I'll tell you about WordPress eBook plugins for selling eBooks individually. With these plugins, people can view a table listing all your eBooks. They can then choose to buy specific eBooks from the list. This is a full e-commerce solution - customers can pay for their eBooks online and receive the downloadable eBooks via a secure link.

There are 2 free WordPress e-commerce plugins that are ideal for selling eBooks:

  • Easy Digital Downloads - EDD is famous for selling digital products such as eBooks. Coupled with a table-based plugin for displaying your eBooks, it's the perfect way to create an e-commerce eBook library.
  • WooCommerce - Powering over 41% of all online shops, you can use WooCommerce to sell anything online - including eBooks. Like Easy Digital Downloads, the default WooCommerce store layouts aren't really suitable for eBooks. However, you can use it with a table-based WordPress eBook store plugin to create the perfect layout, complete with Buy buttons.
  • You can also use other e-commerce plugins such as WP eCommerce. I haven't featured them all in this article, but they all work with Posts Table Pro for listing your eBooks.

I'll tell you how to create a WordPress eBook library using both of these e-commerce plugins. The method is slightly different for each, so we'll start with Easy Digital Downloads and then move on to WooCommerce.

Create an Easy Digital Downloads eBook store

Easy Digital Downloads Table PluginEasy Digital Downloads works perfectly with our Posts Table Pro plugin - use them together to build a fantastic eBook store. Your eBooks will be listed in a table layout with buy buttons.

People can read about the eBooks in the table, and add as many as they like to the cart. They can then click through to the Easy Digital Downloads checkout and pay online. Once the order is complete, Easy Digital Downloads will send them a secure link to download the eBook in whatever format you've uploaded (PDF, EPUB, MOBI etc.).

How to set it up

  1. First install the free Easy Digital Downloads plugin. Use the official documentation to set up payment methods, taxes and more.
  2. Add each eBook as a separate downloadable product via Downloads → Add New.
  3. Next, create a new page (Pages → Add New) which you'll use as your main eBook store page.
  4. Finally, follow the steps in our other tutorial about how to create Easy Digital Downloads table layouts. This covers everything you need to know to create an amazing eBook store layout using Posts Table Pro. You can create a single table listing all your eBooks, or multiple tables listing eBooks from different categories. There are over 50 options, so go through the tutorial and create the perfect eBook store.

Build a WooCommerce eBook store

As a WordPress website owner, another way to sell ebooks is through WooCommerce. You can use the WooCommerce plugin to create an ebook subscription site or ebook store. Paired with the right WooCommerce ebook plugin, this e-commerce plugin is perfect for selling digital products (or digital downloads) like ebooks.

WooCommerce Directory Plugin

To display the eBooks in a searchable, you'll need our WooCommerce Product Table plugin.

The way it works is that you'll add each eBook as a separate WooCommerce product. You'll then use the WooCommerce Product Table to list the eBooks in a searchable table with filters. As with the Easy Digital Downloads eBook store plugin, you can list all your eBooks in a single table or create separate tables for each category. Either way, it's easy for customers to find your eBooks, pay online, and receive a secure download link via email.

See it in action on our WooCommerce eBook plugin demo page.

How to set it up

  1. First install the free WooCommerce plugin. Use the WooCommerce setup wizard and documentation to set up your standard store pages, tax settings, payment gateways (e.g. PayPal and/or Stripe for credit and debit card payments), etc.
  2. Next, add each eBook as a product (Products → Add New). Choose the 'Downloadable' product type in the Product Data section of the page. This will open up some extra options for you to add the downloadable eBook file(s) in whichever format you choose. This might be PDF, MOBI, EPUB or similar.
  3. Finally, create a new page (Pages → Add New) which will be used for your eBook store. Use the WooCommerce Product Table knowledge base to list your eBooks in a table layout with all the information you want to display. It's really flexible and you can even store extra data about your eBooks using product attributes, custom fields and taxonomies. If you want to offer different price options then you can use variable products for this. Each price option will appear as a variation dropdown list next the add to cart button.

Install WooCommerce


Perfecting your eBook library

WordPress eBook store plugin

Whichever of the above WordPress eBook plugins you use, don't forget to add the finishing touches.

Adding filters to the eBook library

WordPress eBook plugin with filters

The most important extra features that you need to add are filters. You can add filter dropdowns above the eBook library for various options including categories, tags and any custom taxonomy.

If you're using WooCommerce Product Table then you can also add attribute/variation filters above the table, and filter sidebar widgets. All of these will increase your eBook sales by making them easier for people.

Embed eBooks to read online

So far, we've assumed that people will download the eBooks to their computer. Perhaps you don't want this - or perhaps you want to provide an online preview of the eBook before people download the eBook.

When you add the eBook - either as a document or an e-commerce plugin, depending on which method in this tutorial you've used - you need to embed it in the main content field/description.

There are lots of service that let you embed eBooks into WordPress, and they will all work with the plugins in this tutorial. For example:

  • Use the free Google Drive Embedder plugin to embed the eBook from Google Drive.
  • Use a flipbook plugin such as FlipSnack to embed a page turning flipbook.
  • Or use the free PDF Embedder plugin to embed a PDF in WordPress.

Either way, people will be able to view the eBook and read it online. However, they won't be able to download it unless you have separately provided a download link.

Add embedded audio and video players

WooCommerce Audio StoreIf you're selling audio books or have a promotional video, then you can embed media players directly into the main eBook library page. For example, you might be creating a WordPress audio book library and want to include MP3 players for your audio books.

To do this, add an embedded audio or video player directly into any of the text fields in your eBook library (such as the main content area or a custom field).

Go to the plugin settings page and tick the 'Shortcodes' option. This tells the WordPress eBook library plugin to render the embedded media player properly, instead of just as plain text.

Next, your visitors will be able to listen to audio tracks or watch video directly from the main eBook library page.

Add quick view buttons

WooCommerce Product Table Quick View Magnifying Glass
Add buttons to show extra images, the blurb, and more in a quick view lightbox.

If you're building a WooCommerce eBook store, then you can enhance your book lists with the WooCommerce Quick View Pro plugin. This handy plugin adds 'quick view' buttons (which you can rename to anything you like) to your eBook library pages. Customers click these buttons to view more information about your eBooks in a lightbox, without having to visit the single product page.

Here are some examples of how you can use quick view to improve your WooCommerce eBook library:

  • Upload multiple images to the product gallery, and display these in the quick view lightbox. Use the images to preview different pages from your eBook, just like Amazon's 'Look inside' feature or Kobo's 'Preview Now' feature.
  • Add the blurb from the back of your eBook to the product short description, and display this in the quick view.
  • Sell product variations (e.g. different eBook file formats or printed book options) in the quick view.

Get WooCommerce Quick View

The perfect WordPress or WooCommerce ebook library

These WordPress eBook plugins come with over 50 options for changing how the eBooks are listed in the library. Choose whichever plugin best meets your needs:

Think about which eBook plugin will help you list your eBooks even more effectively. Spend some time experimenting to find the right combination of options, and make your WordPress eBook library a big success.

WooCommerce custom field plugin

WooCommerce comes with various fields for storing product data. There's the product name, long and short description, price, images, stock, weight, dimensions, etc. But what happens if you want to store and display extra product data, such as WooCommerce custom taxonomies?

In this article, I walk you through creating WooCommerce custom taxonomies for products. We'll look at the difference between WooCommerce custom fields and taxonomies. Also, we'll consider the different types of product data. You will also learn how to add custom taxonomies to store extra information about WooCommerce products.

At the end of this guide, you will have mastered how to:

And remember, you can do all this without writing a single line of code!

Ready to start displaying products with custom fields & taxonomies? But before we dive in, let's quickly examine how to create and display a WooCommerce custom product taxonomy.

What is product taxonomy?

A product taxonomy is a means of structuring products into different groups and subgroups based on their features, attributes, and characteristics. It enables customers to find the products they want without wasting time. It also helps you as a seller organise your products, which makes it easier to manage your inventory, sales and marketing effort.

The categorization can be based on size, colour, style, materials, target market, price range, or anything else.

What is a WooCommerce custom taxonomy?

In WooCommerce, a custom taxonomy organizes and classifies products to show advanced custom fields beyond the standard product categories and tags. It allows you to group products based on specific product attributes using hierarchical or non-hierarchical groupings.

To create a custom taxonomy in WooCommerce programmatically, you might have to use a new set of labels. Besides, you'll have to register the taxonomy with the WordPress core and associate the taxonomy you wish to classify.

An easier option is to create a WooCommerce taxonomy using a WordPress plugin. You can use a plugin to create custom taxonomies such as brands, sizes, seasons, materials, and other relevant product data. Keep reading to discover the best WooCommerce taxonomy plugins for creating, displaying, and filtering taxonomies.

What are the benefits of using WooCommerce custom taxonomies?

Using WooCommerce custom taxonomies provides many benefits. These include better product organization, enhanced filtering, improved navigation, flexibility, and higher visibility. Integrating relevant keywords in your custom taxonomy terms enables more laser-focused product pages for better SEO.

What's the difference between WooCommerce custom fields and taxonomies?

We usually use the phrases 'custom fields' and 'custom taxonomies' in relation to WooCommerce product data. However, many people don't know exactly what they are and their differences. WooCommerce custom fields are used to store arbitrary, one-off information about a product. On the other hand, custom taxonomy is used for grouping things together. This reflects in the way you add custom fields and custom taxonomies for products in the WordPress admin:

Custom fields appear in the main column of the Add/Edit Product screen. This is where you add other unique product data such as title, description, price, etc.

In contrast, custom taxonomies appear in the right-hand column under the product categories and tags. Each WooCommerce taxonomy term should be selected for multiple products like categories and tags.

Difference between WooCommerce custom fields and taxonomies

When should I use custom fields & when should I use a WooCommerce taxonomy?

Once you understand the difference between a WooCommerce custom field and taxonomy, it becomes more obvious when to use each one.

As a rule of thumb, you can decide between custom fields and taxonomies by asking: "Is the data I am adding unique to each product, or does it apply to multiple products?" If the data is unique for each WooCommerce product, you need a custom field. However, if you want to select the same value for several products and use it to group them together (e.g., via a product filter), then you need a WooCommerce taxonomy.

Here are some examples to help you choose:

  • WooCommerce clothes store displaying the color of each product. If you're selling clothes in WooCommerce, you'll probably want customers to be able to find products by color. You'll have multiple products of each color. By creating a WooCommerce custom taxonomy called 'Colour', customers can filter the list of products to find the color they like. This wouldn't be possible with a custom field.
  • WooCommerce second-hand site storing 'condition' information about their used products. If you're selling used goods like eBay, you'll need a field to store details of any damage, etc. The description of each item's condition will be unique to that product, so you should create a WooCommerce custom field.
  • WooCommerce product directory with a large product database. WooCommerce directory-style websites with large numbers of products often list extra product data within the directory listings view. For example, a book directory might include data for author, publisher, and year.

Use custom fields and taxonomies together

To use the 2nd example above, a store selling used goods might want a WooCommerce taxonomy called 'Condition' AND a custom field called 'Condition Description'. The 'Condition' taxonomy would include the terms "New," "As New," and "Used," which apply to multiple products.

You could create product filters so customers can narrow their search based on the overall condition. The 'Condition Description' custom field would provide unique information about the exact condition of the product and any damage.

Video tutorial - WooCommerce custom fields & taxonomies

In this video tutorial, you can watch me create WooCommerce taxonomies and custom fields and display them on a WordPress website. There are also full written instructions below:

How to create a WooCommerce custom taxonomy

Easy Post Types and Fields is the best plugin for creating a custom taxonomy for WooCommerce products. It's 100% free and has everything you need to add extra taxonomies to your store.

WooCommerce products are custom post types in WordPress. That's why you need a plugin which lets you add taxonomies to a WordPress post type.

Other plugins like Advanced Custom Fields (ACF) let you create custom fields but not taxonomies. Easy Post Types and Fields lets you do both.

Next, I'll show you how to create WooCommerce custom taxonomies with the free Easy Post Types plugin. After that, you'll learn how to display them on the front end, and how to let customers filter by taxonomy.

Setup instructions

Here's how to use Easy Post Types as a WooCommerce custom taxonomy plugin:

    1. Go to Plugins → Add New in the WordPress admin and search for 'Easy Post Types and Fields'.
    2. Install and activate the plugin by Barn2. Skip through the setup wizard because you don't need to create a new post type.
    3. Go to the 'Post Types' section on the left of the WordPress admin and click on the 'Existing Post Types' tab.
    4. Find the 'Products' post type and click on the Taxonomies button for it.
    5. Now set up your WooCommerce custom taxonomy:
      1. Add the Taxonomy Slug (ideally 1 word, lowercase).
      2. Add a plural and singular name (label). This will only appear in the WordPress admin.
      3. Choose whether or not you want the custom taxonomy to be hierarchical. Hierarchical taxonomies are like product categories, where you can create multi-level nested structures with parent and child categories. Non-hierarchical taxonomies are like tags, which are flat and can't be structured.
      4. Click to add the taxonomy to WooCommerce.

Now go to the Edit Product page, and you'll see the custom taxonomy on the right-hand side, under the categories and tags. Add one or more taxonomy terms for each product, just like standard product tags.

You'll also see a section for managing your new WooCommerce taxonomy under the 'Products' section of the WordPress admin. For example, if you created a taxonomy called 'Brand' then a 'Brands' link will appear there.

Displaying WooCommerce custom taxonomies on the front end

Display extra WooCommerce product data

Editing the template files for your product archive pages is ideally the only way to display custom taxonomies for WooCommerce products. However, this involves a bit of coding knowledge.

But the good news is that there's a handy WordPress plugin to list products in a table and extra data, such as WooCommerce custom taxonomies. It's an ideal way to display products with extra information, as everything is presented in a structured tabular format. You can add product tables to any WordPress page, your main WooCommerce shop or product category pages, or even a single product page.

The WooCommerce Product Table WordPress plugin is one of the best for displaying custom taxonomies. This is because it supports all the usual WooCommerce product data, plus custom fields and custom taxonomies. Each item of product data is listed as a separate column in the table.

Customers can search or sort the table by any product custom taxonomy term. They can also filter by taxonomy via handy dropdown lists above the table. The WordPress plugin allows you to create WooCommerce tables with only products as a specific taxonomy term.

Comparatively, this is much easier than modifying your WooCommerce template files. Moreover, you get all the other benefits from product table layouts, such as improved conversion rates.

How to create a product table with WooCommerce custom taxonomies

Setting up a WooCommerce Product Table with all the extra product data is easy.

Install WooCommerce Product Table

  1. Get WooCommerce Product Table. Download the WordPress plugin using the link on the order confirmation page and email.
  2. In the WordPress admin, go to Plugins → Add New. Upload the plugin files, and install and activate the plugin.
  3. Go to the plugin settings page: WooCommerce → Settings → Products → Product tables. Enter your license key and click Save. You can also choose some default settings which will be used for all your product tables. This saves you from creating such complex shortcodes later, as these settings will be used automatically whenever you create a product table.

Now, the product table plugin is set up. The next step is to add product tables to your website. Use one of the following methods, depending on where you want to display WooCommerce taxonomies.

How to show WooCommerce taxonomies on a standard WordPress page

Setting up a WooCommerce Product Table with all the extra product data is easy.

Install WooCommerce Product Table

  1. Get WooCommerce Product Table. Download the WordPress plugin using the link on the order confirmation page and email.
  2. In the WordPress admin, go to Plugins → Add New. Upload the plugin files, and install and activate the plugin.
  3. Go to the plugin settings page: WooCommerce → Settings → Products → Product tables. Enter your license key and click Save. You can also choose some default settings which will be used for all your product tables. This saves you from creating such complex shortcodes later. Also, you can use the settings automatically whenever you create a product table.

Now, the product table plugin is set up. The next step is to add product tables to your website. Use one of the following methods, depending on where you want to display WooCommerce taxonomies.

Use a shortcode to list products with their custom taxonomies:

WooCommerce Product Table comes with a shortcode which you can use to list products anywhere on your site, complete with custom taxonomy columns. For example, this shortcode will create a table containing columns for the product name, a custom field called 'Condition', a custom taxonomy called 'Color', the price, and add to cart buttons:

[product_table columns="name,cf:condition,tax:color,price,buy"]
How to dislay WooCommerce custom fields and taxonomies

Display custom taxonomies on the WooCommerce shop page or product category archive

Most people use the shortcode method to add WooCommerce Product Table to normal WordPress pages.

Alternatively, you can add product tables with custom taxonomies directly to the main WooCommerce shop page or category pages. To do this, you just need to do two things:

  1. Tick the relevant options on the plugin settings page or in the setup wizard. This will automatically replace the standard layout on your shop pages with the product table layout.
  2. Include custom taxonomy columns when you choose which columns to include in the table. To do this, list the columns that you want to include. Add tax: before the slug of each taxonomy. For example, you might add this into the columns option: image,name,tax:year,tax:publisher,buy

How to show WooCommerce custom taxonomies on the single product page

You can also use the shortcode method described above to show custom taxonomies on the single product page. However, you need to do it a bit differently because this time, we only want to show one product in each table. Here's how to do it:

  1. WooCommerce custom fields taxonomies single product page
    Install WooCommerce Product Table.
  2. Go to edit the product where you want to display custom fields and taxonomies.
  3. Add a product table shortcode to the Short Description field.

You can use this shortcode as a starting point.

[product_table columns="cf:size,tax:fabric,stock" page_length="false" search_box="false" reset_button="false" totals="false" include="19" links="none"]

This lists the data for the current product. There are columns for a custom field called 'size', a custom taxonomy called 'fabric', and a stock column. I have hidden elements such as the search box and product name, which aren't needed on the single product page.

Replace the sections of the shortcode in red as follows:

  • cf:size - Replace 'size' with the name of the custom field you want to display in the table. Remove this part of the shortcode if you don't want to display any custom fields. (More information here.)
  • tax:fabric - Replace 'fabric' with the name of the custom taxonomy you want to display on the product detail page. If you want to display multiple custom taxonomies, that's fine too - just add each one separated by a comma. (More information here.)
  • include="19" - Replace the number 19 with the product ID you want to show the data for. You can find this by going to the 'Edit Product' screen in WooCommerce. Look at the URL at the top of your browser window. For example, my example product has the URL /wp-admin/post.php?post=19&action=edit. This tells me that the ID is 19. Do the same and find the ID for your product.
  • You can also make any other changes to the product table, for example, by adding or removing columns. See the full list of options in the knowledge base.

Now save the product and view it. You will see a simple WooCommerce table in the short description field containing the custom taxonomy and other product data.

List WooCommerce products with a specific custom taxonomy term

By default, your WooCommerce product tables will list all the products in a table. This is perfect if you plan to have a single table listing your entire WooCommerce inventory.

However, you can also create product tables listing products from a specific category, tag, custom field, or WooCommerce custom taxonomy term.

Here's an example to get you started. To do it on your own website, you will need the custom taxonomy slug AND individual term slug. In this example, we're using a custom taxonomy with the slug 'colour' and a term with the slug 'red'. We need to include both in the product table shortcode:

[product_table columns="name,tax:color,price,buy" term="color:red]

You can list WooCommerce products with multiple custom taxonomy terms. See the documentation for full details.

Let customers filter by WooCommerce taxonomy

So far, we've talked about how to display WooCommerce custom taxonomies on your website. In addition to this, your customers can benefit from being able to filter the list of products by taxonomy. Product filter by custom taxonomy allows customers to easily find whatever product they're looking for.

There are two ways to add taxonomy filters, depending on whether or not you're already using WooCommerce Product Table to display your taxonomies.

Use WooCommerce Product Table to add taxonomy filter dropdowns

WooCommerce Product Table comes with taxonomy filters which you can display as dropdown lists above the list of products. You can add a separate filter for each custom taxonomy (plus other data such as attributes, variations, categories and tags - instructions here). Customers choose a taxonomy term from the dropdown and use it to filter the list of products.

You can create WooCommerce product filter by custom taxonomy either on the WooCommerce Product Table settings page or directly in the shortcode. For example, this shortcode will create a table with taxonomy filters for Year and Publisher:

[product_table columns="name,tax:year,price,buy" filters="tax:year,tax:publisher"]

Add advanced WooCommerce taxonomy filters with the Product Filter plugin

WooCommerce faceted search filters
A WooCommerce shop with taxonomy filters for Gender, Color, Size, and Activity

For more advanced and flexible custom taxonomy filters, you can use the WooCommerce Product Filters plugin. This comes with many taxonomy filters, including checkboxes, radio buttons, clickable images, range sliders, and much more.

The WooCommerce Product Filters plugin offers a wide range of customization options for displaying taxonomy filters. You can choose from different styles such as checkboxes, dropdowns, images, image labels, or even color swatches. This means that you can create a taxonomy filter that matches your store's design and makes it easy for customers to find the products they are looking for.

For example, if you have a clothing store and want to allow customers to filter products by color, you could use color swatches as the taxonomy filter. This way, customers can easily click on the color swatch they want and see all the products available in that color.

Alternatively, if you have a store that sells products of different sizes, you could use a dropdown menu as the taxonomy filter. This would allow customers to select their preferred size and see all the products available in that size.

Take control over your WooCommerce product taxonomies

In this article, we have covered the best plugins for adding and displaying product taxonomies in your WooCommerce store:

  • The free Easy Post Types and Fields plugin makes it easy to add custom taxonomies to your WooCommerce products.
  • WooCommerce Product Table displays taxonomies on the front end of your website. You can do this on the single product page, your main shop pages, individual product pages, and list products by taxonomy.
  • The WooCommerce Product Filters plugin adds advanced filters so that customers can find products based on their taxonomy terms.

Armed with these tools, you can add a wide range of custom data to your products and take your store to new levels of success. Mix and match the plugins to get the full benefits of WooCommerce custom taxonomies in your store. The possibilities are endless!

WooCommerce custom product fields plugin

This is the complete guide on how to create and display WooCommerce custom fields. You'll learn how to show extra product data and sell extra product options on your website.

WooCommerce comes with various types of data which you can add and display about your products. It also comes with a variable product type, with dropdown list fields to allow customers to select different options. But what if you want to create your own custom fields and display them in your e-commerce store? Read on, or watch this video to find out!

In this tutorial, I'm going to reveal two easy ways to create WooCommerce custom fields and display them on the shop or product page:

  1. Extra product option fields which allow customers to customize the product.
    WooCommerce extra product options file upload
  2. Custom fields for displaying extra data about the product.
    WooCommerce product page custom fields

Keep reading to learn more about each type of custom field in WooCommerce and how to set them up, step-by-step.

2 types of WooCommerce custom field

When people talk about WooCommerce custom fields, they typically mean one of two things:

  1. Selling extra product options, as an alternative to variationsThis involves installing a WooCommerce add custom field to products plugin which displays dropdown lists, checkboxes, radio buttons, text fields, etc. for the customer to complete before adding the product to their cart. Technically, extra product options aren't custom fields at all - they're better known as product add-ons! However, a lot of people refer to them as custom fields. They're perfect for adding a WooCommerce text field to the product page, and collecting other data and options from customers.
  2. Adding extra information about the productThis is the classic use of custom fields. In WordPress, custom fields are used to add additional data to posts, pages, or products. You use these to store and display extra information on your website. For example, if you're already using all the built-in types of product data for other purposes then a WooCommerce custom field plugin can display additional text for you.

Continuing on, we will explore the steps involved in adding both types of custom fields to your WooCommerce products. You will also learn how to make the custom fields visible on the shop and product page.

By following the steps outlined in this guide, you will be able to effectively use custom fields in WooCommerce. This will enhance your store and improve the shopping experience for customers. Whether you're looking to add extra information about your products or offer additional options, WooCommerce custom fields are a powerful tool to help achieve your goals.

Using custom fields to provide options and collect information from customers

WooCommerce extra add-on fields with images, swatches and text field
A product with various extra fields added, as an alternative to variations

First, we'll look at how to use custom fields in WooCommerce to show extra information about your products. This involves offering additional options to customers.

This type of custom field goes beyond merely displaying extra information about a product. It offers customers the option to select additional features before adding the product to their cart.

This method is a remarkable alternative to product variations. That's because it allows you to add a wide range of field types, including radio buttons, checkboxes, and text inputs. By adding extra fields on the product short description page, customers can provide more choices and data that they can receive along with their orders. For example, adding a WooCommerce custom text field on the product page lets customers enter their own text to be submitted with their order.

Introducing the Product Options plugin

There are several WooCommerce custom fields plugins available for adding extra product information to your store. However, when it comes to finding the best solution for letting customers select extra product options during checkout, we highly recommend WooCommerce Product Options. This plugin stands out as the best option for adding custom fields to your products and displaying them during the checkout process.

You can add a wide range of options that appear as custom fields for the customer to select. Shoppers can complete these extra custom fields and add them to their cart from the following locations:

  • The individual product page.
  • From your main shop and category pages, if you're using WooCommerce Product Table or WooCommerce Express Shop Page.
  • From a quick view lightbox, if you're using WooCommerce Quick View Pro. (Customers can access the lightbox from the main shop page or product category pages, so it's a quick way to select add-on custom fields without having to visit a separate page for each product.)

Types of WooCommerce custom field

The WooCommerce Product Options plugin comes with a wide range of custom field types which you can add to product pages:

  • Checkbox: Allow customers to tick boxes (multiple choice, so they can select as many as they like).
  • Radio button: A custom field which forces customers to select one option from a list.
  • Text: Let customers enter custom text, such as a personalized message or allergy information.
  • Text area: Collect entire paragraphs of information from the customer, suitable for longer messages.
  • File upload: Let customers upload files while placing the order. You can control details like the file types and maximum file size.
  • Number: Add a custom field to collect numeric information. This is useful for things like phone numbers, measurements or dimensions (especially when used with the price formula custom field type).
  • Color swatches: A more visual type of WooCommerce custom field, which lets customers choose from a choice of colors.
  • Dropdown: Let customers to choose an option from a dropdown list.
  • Customer-defined pricing: This custom field type provides a "Name your price" box where customers can enter an amount to be added to the product price.
  • Price formula: This is a more advanced WooCommerce custom field type. Use it to create a WooCommerce price calculator with a custom formula to calculate the price based on the information that the customer submits. This type of custom field is popular for creating a measurement price calculator for products priced by size, weight or area.
  • Date: Add a date custom field to the WooCommerce product page.
  • Products: This is less of a custom field than the other types. It displays selected products above the add to cart product and is a good tool for upselling additional products.
  • Visual editor: This is more like the classic definition of a custom field, which lets you display read-only data on the WooCommerce product page. Use this to enter static information such as headings or introductory sentences, instead of fields for the customer to fill in.
  • HTML: This custom field is like the visual editor field but more technical. You can use it to enter HTML that will appear as static information on the WooCommerce product page.

How to add custom option fields to WooCommerce products in the back end

Now we get to the tutorial part of this article. First, I'll tell you how to add custom fields to your WooCommerce products. Afterwards, I'll discuss the options for displaying custom fields on product pages and other shop pages.

  1. Install WooCommerce Product Options on your WordPress site.
  2. The plugin setup wizard will open when you activate the plugin. Use this to activate your license key.
  3. Next, go to Products → Product Options.
  4. Click 'Add New' to create a new group of product options. This will be your group of WooCommerce custom fields. Name it whatever you like.
  5. Use the onscreen instructions to add as many custom fields as you like. For each one, scroll down to see the additional options for each custom field. For example, you can use the price options to increase or decrease the product page based on the custom fields selected.
WooCommerce Product Options select products categories

Use the 'Advanced' section to configure additional options. For example, you can add minimum and maximum quantities for some of the custom field types. You can also add conditional logic to your WooCommerce custom fields so that the fields appear conditionally based on the user's selections. This is good if - for example - you want customers to be able to tick a 'Customize this product' to reveal the hidden custom fields.

conditional logic comparison

How to display WooCommerce custom product option fields in your store

As a front end plugin, WooCommerce Product Options seamlessly displays custom field data on the WooCommerce product page. Once you've added your custom product option fields and selected which products they will appear of, they will start appearing straight away.

However, this requires the customer to visit a separate page for each product they want to fill in custom fields for. That might work for your use case, or you might also like customers to be able to select custom fields on the shop page, category pages, and so on. There are three easy ways to do this. I'll tell you about these next.

Display WooCommerce custom field options directly on the shop page

The WooCommerce Express Shop Page plugin extends your existing shop and category pages by displaying your custom fields directly on the page. Customers can fill in the custom fields, choose a quantity and click the 'Add to cart' button from the actual shop page. There's no need for them to visit the single product page.

WooCommerce show product add-ons on shop page

As you can see, this is a much faster way for customers to select custom fields and add products to their cart. As a result, it can have a big impact on your store's conversion rate.

Setup instructions

  1. Install the WooCommerce Express Shop Page plugin on your WordPress site.
  2. Use the setup wizard to enable variations, product options and quantities on the shop and other archive pages.

Now when you visit your shop pages, you'll see the WooCommerce custom field options visible directly on the page.💪

Display WooCommerce custom field options in a table-based order form

The WooCommerce Product Table plugin works alongside WooCommerce Product Options to display the extra options on your main shop pages. It does this by replacing your usual store layout with a structured product table view, complete with a 'Buy' column. The buy column contains all the purchase options for adding the product to the cart. This includes product variation dropdowns, product add-on custom fields, and a quantity picker.

Displaying WooCommerce add-ons in the WooCommerce Product Table
Example of WooCommerce Product Table used with Product Options

Customers can quickly find the products they want, fill in all the custom fields, and add them to the cart - all from the shop and category page.

Setup instructions

  1. Install the WooCommerce Product Table plugin on your WordPress site.
  2. Use the plugin setup wizard to choose the main options for your product tables. When you choose your table columns, make sure you include a 'Buy' column.
  3. Select the option to use the product table layout on your shop and category pages.

Display product option custom fields in a quick view lightbox

Maybe you want customers to be able to fill in the custom fields without visiting individual product pages, but you don't want to change or clutter up the shop page. That's fine.

The solution is to use the WooCommerce Quick View Pro plugin to add 'Quick View' buttons to your shop and category pages. Customers will use these to launch a product lightbox containing the WooCommerce custom field options for that product. That way, they can easily fill in the custom fields and add to the cart, without having to visit the product page.

WooCommerce-Product-Options-Integration-with-Quick-View-Pro
Example of Product Options used to display the custom fields in a WooCommerce Quick View Pro lightbox

Setup instructions

  1. Install the WooCommerce Quick View Pro plugin on your WordPress site.
  2. Use the setup wizard to choose what you want to include in the quick view lightbox. Make sure you include the add to cart button, as the WooCommerce custom field options are attached to this.

And that's it! This will add quick view buttons to your shop pages, linked to lightboxes containing your WooCommerce custom fields.


Using custom fields to store extra product data

So far, we've learned how to add custom fields to the WooCommerce product page which the customer interacts with. This involves things like adding some text, selecting options, and so on.

But that's not really the technical meaning of the term 'custom field' in WordPress! A WooCommerce custom field actually refers to something different: a custom meta field which is attached to the 'products' post type.

In part 2 of this tutorial, we're going to focus on custom fields in the technical sense of the word. This is all about displaying extra data on your WooCommerce products, rather than providing editable fields for customers to interact with.

WooCommerce comes with a range of standard fields for storing and displaying information about your products. This includes data such as the product title, price, categories, tags, attributes, tags, dimensions, stock information, and so on. Here, we're talking about how to add a static WooCommerce text field on the product page. That's why it's different from adding custom fields for your customers to fill in.

However, sometimes the built-in WooCommerce product data isn't enough. When that happens, you need to install a WooCommerce custom fields plugin and add some additional fields.

In this section, I'll show you how to use the best plugin to add custom fields to WooCommerce. I'll also show you how to display them on the front end of your shop and product pages like this:

WooCommerce product table custom field columns
WooCommerce Product Table plugin displaying custom fields in the front end

But before we start, I'll explain the difference between custom fields and taxonomies to make sure that custom fields are actually what you need.

Custom fields or taxonomies?

Lots of people wonder "What is the difference between a custom field and a custom taxonomy"? It's a valid question because they're both ways of adding and displaying custom data about WooCommerce products. Understanding the differences between the two options is crucial in knowing which one best fits your specific requirements.

What are custom fields?

Custom fields, also known as post meta, are individual pieces of information that can be added to your products. They are flexible and be used to store a wide range of data, including text, images, and other media.

In short, custom fields add extra fields to the Add/Edit Product screen in WooCommerce. They're ideal for storing standalone data about products. Here are some examples of when you should use WooCommerce custom fields:

  • To store a unique product barcode, inventory, or reference number.
  • For adding extra ways for people to interact with your products. This might be by adding extra buttons (e.g. 'Enquire about this product), icons, or social sharing links.
  • To display multimedia content about the product, such as embedded video or audio tracks.
  • For adding shortcodes provided by other plugins, such as a WooCommerce Add to Quote or Wishlist plugins.
  • To store additional notes about the prices or alternate price options. For example, if you're using a bulk discount WooCommerce plugin and want to list the quantity-based discounts, then you can add this information to a custom field.

The idea of a custom field is that it stores unique information. Since the data stored in the field is unique, you can display it in the WooCommerce front end - e.g. on the product detail page, shop, or category pages. However, you wouldn't expect to use this data to group or filter products. If you want to filter by that type of data, then you need a custom taxonomy instead.

You can create WooCommerce custom fields using any custom fields plugin for WordPress. Once you've created the custom fields, it's easy to show them on your website using the WooCommerce Product Table plugin. Keep reading for full step-by-step instructions on how to do all this. First, I'll quickly tell you about WooCommerce custom taxonomies so that you can be sure you're choosing the most appropriate field type for your data.

What are custom taxonomies?

Like WooCommerce custom fields, taxonomies are a way to store and show extra product data. They are a way of grouping and organizing products into categories or tags. However, the difference is that they are designed to store reusable information which can be used to group and filter products. For example, you can create a dedicated archive page listing all products that share a specific custom taxonomy term. You can also use taxonomies to filter products using the WooCommerce Product Table plugin.

Custom taxonomies are very similar to WooCommerce product categories. In fact, WooCommerce categories are actually set up as a taxonomy under the hood. When you create a custom taxonomy in WooCommerce, it adds tick boxes/checkboxes to the right-hand side of the Add/Edit Product screen - just like categories.

Here are some examples of when you might use WooCommerce custom taxonomies:

  • A WooCommerce bookstore needs to store extra product data such as year of publication, author, and publisher. Since more than one book has the same year, author, or publisher, customers need to be able to sort and filter by this data. You can do this using WooCommerce custom taxonomies.
  • If your products relate to a specific geographical area, then you can use custom taxonomies to group products by area. For example, you could create a custom taxonomy called 'Area' and add a separate taxonomy term for each state or county. Customers can then filter by area, or view lists of products from a specific area only.
  • A WooCommerce clothes store can use custom taxonomies to store extra data such as brand names. Customers can then search and filter to find products with their favourite brands, as this field isn't built into WooCommerce as standard.

In summary

Difference between WooCommerce custom fields and taxonomies
Custom field for 'Condition', custom taxonomy for 'Colours'.

When deciding between custom fields and taxonomies, it's important to consider the type of information you want to store and the way in which you want to organize your products. If you need to add unique or specific information to a product, custom fields may be the better choice. However, if you're looking to categorize and organize your products, taxonomies may be suitable.

Read our tutorial about how to create WooCommerce custom taxonomies.

How to create custom fields in the back end

Ok, now you know when to use custom fields. Next, I'll show you how to create advanced product fields for WooCommerce. It's surprisingly easy!

While many individuals opt to add custom fields programmatically, this tutorial is designed for non-developers. By reading on, you will learn how to add custom fields to your WooCommerce products without writing a single line of code. This makes it possible for you to display extra product fields wherever you desire, including on the product page, the shop page, and category pages.

Which custom field plugin?

In order to add custom fields to your WooCommerce products, you'll need to have a WooCommerce custom fields plugin installed. There are numerous high-quality and free plugins available for creating custom fields in WooCommerce, including Easy Post Types and Fields and Advanced Custom Fields. Each custom field plugin offers unique features and benefits, so you can choose the one that best fits your needs and preferences.

If you prefer, you can also opt for a dedicated WooCommerce custom fields plugin. These are specifically designed for adding custom fields to products in the WooCommerce platform. However, custom fields are essentially the same whatever WordPress post type you're adding them to. For that reason, there's no need to use a WooCommerce-specific plugin.

I'm going to show you how to create WooCommerce custom fields using Easy Post Types and Fields, and also Advanced Custom Fields. These are my two favorites.

However, the instructions are the same for most other custom field plugins for WordPress. If the custom fields don't show up on your site when you follow the later sections of this tutorial, make sure the plugin isn't adding extra characters to the start of the custom field name. (You might need to contact their plugin support to ask about this.) For example, Toolset automatically adds wpcf- to the start of the custom field name, so you need to know this.

Creating custom fields with Easy Custom Post Types & Fields

Easy Custom Post Types Plugin

Easy Post Types and Fields is a free WooCommerce custom fields plugin. It makes it easy to add custom data fields to your WooCommerce products.

This plugin was designed to make it as quick and easy as possible to add custom fields. It comes with a choice of plain text and visual editor custom field types. Use it if you want a quick and straightforward way to add WooCommerce custom text fields to the product page. 

How to add custom fields to WooCommerce products

  1. Log into the WordPress dashboard and go to Plugins → Add New.
  2. Search for ‘Easy Post Types and Fields’, then install and activate the free plugin.
  3. The setup wizard will open. Skip this and go to Post Types → Manage, then click on the 'Other Post Types' tab.
  4. Find the 'Products' post type (this is added by WooCommerce) and click 'Custom Fields'.
    Add custom fields to WooCommerce product
  5. Click the button to add as many fields as you like to your WooCommerce products. Make a note of the name of each custom field - you'll need this to display it later in this tutorial.
    How to add WooCommerce product custom field
  6. Finally, edit your products. On the 'Edit Product' screen, you'll find the custom fields that you added in step 4. Fill in the data as needed.
    WooCommerce product with custom fields

How to create custom fields with the Advanced Custom Fields plugin

Advanced Custom Fields (ACF) is a popular WordPress custom fields plugin. Use it if you're willing to spend a bit more time on setup and want extra features such as additional field types:

  1. Log into WordPress and find Plugins → Add New. Search for ‘Advanced Custom Fields’, then install and activate this free plugin.
  2. Click ‘Custom Fields’ on the left-hand side of the WordPress dashboard.
  3. Click the ‘Add New’ link by the ‘Field Group’ at the top of the page.
  4. How to create WooCommerce custom fields
    Next, you'll see the ‘Add New Field Group’ page:
    1. First, add a name for the group of custom fields you're creating. (No one else will see this.)
    2. Location – Choose Show this field group if Post Type is equal to Product. This tells Advanced Custom Fields to show the custom field on the Add/Edit WooCommerce product screen.
    3. Press the blue ‘Add Field’ button. Now it's time to create the individual custom fields where you'll store the extra product data.
    4. Add a Label for the custom field. This is how the custom field will be labeled on the Add/Edit Product screen.
    5. Choose a Name for the custom field (this should be 1 word in lowercase). You'll need this to display the WooCommerce custom field on the front end of your website, later.
    6. Choose a Field Type from the available types of a custom field. You can choose text, text area, numbers, checkbox, radio button, etc.
    7. Complete any extra fields for the custom field such as adding a default placeholder value. Finally, click the blue ‘Publish’ button.

That's how to create WooCommerce fields. The next step is to add data to the custom field value for some or all of your products. To do this, go to the 'Edit' page for each product and you'll see the extra WooCommerce custom field(s) lower down the page. They'll be shown somewhere below the Product Data section. Edit the placeholder, enter values into the custom fields, and then save the product.

Adding custom fields to product variations

So far, you've learned about Woocommerce adding custom fields to products for storing data about individual WooCommerce products. If you're using variable products then you can also add custom fields to specific variations. You'll need a different custom field plugin for that - one that focuses on variable products. I recommend Iconic's WooCommerce Custom Fields for Variations plugin for this.

In this screenshot, you can see a product table (created using the WooCommerce Product Table plugin) that lists each variation in its own row. There is a custom field column displaying unique data for some of the variations:

WooCommerce variation custom fields plugin

Displaying custom fields on the front end

How to show custom fields on the shop page

Show WooCommerce custom fields

A shop page product table with a custom field column

In the previous section, I showed you how to store new custom fields for your WooCommerce products in the back end. The next step is to display these fields on the front end of your WordPress website for customers to see. Of course if you're using custom fields simply as a way to store internal notes, then there's no need to display them. However, if you want to show your WooCommerce custom fields on your website, it's a simple process.

There are several ways to make custom fields visible on the front end of your website. This includes displaying custom fields on product pages, the shop page, and category pages.

The easiest way to show your extra product data is to install the WooCommerce Product Table plugin. This takes your products and lists them in a quick order form layout anywhere on your site. You can add product tables to any page you like. This might be normal pages, or your WooCommerce shop and category pages.

You can choose which columns to include in the product table. The great thing is that you can include WooCommerce custom fields in the table. This is more flexible than the default store layout, which just lists basic information such as the product name and price. It's a really easy way to display the extra product data that is stored in custom fields.

See WooCommerce custom fields in action on our custom fields demo page.

How to do it

  1. Get WooCommerce Product Table and install and activate the plugin.
  2. The plugin setup wizard will open. Activate your license key and choose the other settings for your product tables.
  3. In the Columns section of the wizard, make sure you add your custom field columns. To do this, just add cf: followed by the name of the custom field name that you created earlier (e.g. cf:my-custom-field). The knowledge base contains the full list of available columns.
  4. Now it's time to add product tables to a page. (You can skip this step if you used the setup wizard to show product tables on your main shop pages.) To add a product table anywhere, use the [product_table] shortcode to list all your products. Alternatively, use the plugin documentation to list specific products only.
  5. Next, view the page and see what it looks like! You will see a product table, complete with custom fields. 

Make changes to how your custom fields are displayed

So far, I've shared a simple method to show WooCommerce custom fields in the front end of your website. Now, let's get more advanced and configure how our custom fields are displayed.

WooCommerce Product Table is a very flexible plugin. Choosing your columns is just one of over 50 options! Look at them all and configure your table to show whatever product data you need.

For example, you can:

  • Create product tables listing products from a specific category, tag, or custom field only. (More on this below.)
  • Add filter dropdown lists above the table, or filter widgets in the sidebar. (But remember, you can't filter by the custom field because custom fields aren't designed for grouping products. You need to use categories, attributes, tags, or custom taxonomies to store filterable data.)
  • Use the lazy load option to speed up the table if you have too many products to load all at once.
  • And much more...

Have a play, and get your product tables and WooCommerce custom fields showing exactly as you need them.

How to dislay WooCommerce custom fields and taxonomies

How to display custom fields on the WooCommerce product page

So far, I've shown you several ways of displaying custom fields on WordPress pages, shop, or product category pages. It's also possible to show a WooCommerce text field on the product page (also known as the product detail page).

The WooCommerce product page is great, as it displays lots of product data such as product title, image gallery, short and long description, product category, product price, attributes and variations. However, there's no built-in way to add custom fields to custom product pages.

You can do this using the WooCommerce Product Table plugin that we looked at in the previous section. It can show custom field values anywhere on your site - including the WooCommerce product page. When used on the single product page, it looks like this:

WooCommerce custom fields taxonomies single product page

A product table displaying custom field data on the WooCommerce product page

Setup tutorial

  1. Edit each product and add data to the custom fields as required.
  2. Next, install the WooCommerce Product Table plugin. When you activate it, a setup wizard will open guiding you through the main settings for your custom tables. These will be used in all your WooCommerce tables, but you can override them for each table as required. (For example, when you choose your table columns then these will apply to all your tables. Don't worry if you want to show different custom fields on different products, as I'll show you how to do this in a minute.)
  3. In the setup wizard, I recommend disabling elements such as the search box, product totals and reset button. That's because these are designed for listing large numbers of products in a table, and they're not relevant to displaying custom fields on the WooCommerce product page.
  4. Open the 'Edit Product' screen for the product where you want to add a table of custom fields.
  5. Add a product table shortcode to the Short Description field.

Here's an example product table shortcode to get you started. It will display a table containing 3 custom fields for a coffee product with ID 54121. The table has 3 columns - one for each custom field:

[product_table include="12345" columns="cf:strength,cf:region,cf:type"]

This is how it looks on the front end WooCommerce product page:

WooCommerce product page custom fields plugin

Customizing the shortcode

To create your own product table of WooCommerce custom fields, change the following sections of the shortcode:

  • Replace '12345' with the ID of the product that you're displaying custom fields for. You can easily find this by looking at the URL of the 'Edit Product' page where you're adding the product table shortcode. For example, if your product has the URL [yoursite.com]/wp-admin/post.php?post=19&action=edit, then the ID is 19.
  • 'Replace 'strength', 'region' and 'type' with the WooCommerce custom field names you created in the previous section. You can also add or remove custom fields as needed. Just make sure that they're comma separated without spaces, and you add cf: before each custom field name.
  • You can also make any other changes to the product table, for example by adding or removing columns. See the full list of options in the knowledge base.

Now click 'Update' and view the WooCommerce product page for that product. You'll see a table containing the custom field values in the short description field. Perfect!

What if I don't want to show the custom fields for each product manually?

The instructions above tell you how to manually add a product table with custom fields for specific products. You can do this for as many products as you want to display custom fields.

If you want to show custom fields on all your WooCommerce product pages then you will need to do this globally by adding product tables to the single-product.php template. This is a bit technical and you can ask your developer to do this for you. If you don't have one then I recommend that you post a job on Codeable where one of their WordPress experts will send you a quote.

To get you started, we've provided an article with code snippets on how to automatically add product tables after the short description field on the single product page. The code snippet adds a table of the current product's variations, and you can change the [product_table] shortcode to add custom field columns, disable the variations option, and make any other changes you require.

Can I add custom fields to other sections of the WooCommerce product page?

In the previous section, I showed you how to add custom fields to a table in the short description on the WooCommerce product page. This is a good option because most themes show the short description near the top of the page, under the product name and price.

If you'd rather show custom fields elsewhere on the single product page, that's absolutely fine. Simply add the product table shortcode to wherever you'd like to display the custom field values. For example, you could add it to the long product description instead.

What other extra data can I show on the WooCommerce product page?

Custom fields and taxonomies are just the tip of the iceberg. You can use WooCommerce Product Tables to show any type of product data in a table. This can include:

  • Product image, name, price
  • Short or long description
  • Categories and tags
  • Attributes and variations
  • Star rating from reviews
  • Embedded audio and video

This is a much more flexible way to show WooCommerce extra product data in the short description field. Customers can see all the relevant data from the neat table layout, instead of having to scroll down to the long description tabs.

There's even a neat option to display each product variation on its own row in the table with its own product image. This lets customers select variations and add to cart directly from the table of WooCommerce variations.

Have a play with showing custom fields and other data on the WooCommerce product page. Think about what will best sell your products and maximize conversions. This is a great way to increase sales and make your e-commerce store an even bigger success.

Alternate method: Show a text custom field above the add to cart column

So far, you've learned how to add a table to the single product page, with each custom fields displayed in a column of the table. If that's not the layout you want, then I have an alternative suggestion for you.

We're going to use a plugin called WooCommerce Lead Time. While the plugin is designed to display waiting times, it works by creating a WooCommerce custom field and showing it on the single product page, immediately above the add to cart button. As a result, you can use it to show any type of text-based information and not just lead times.

To set it up, simply install the plugin and add the information that you want to display to the 'lead time' field. The text you have added to the 'lead time' custom field will appear above the add to cart button, under the short description.

The other benefit of using WooCommerce Lead Time for your custom field is that you can choose whether to add the information individually for specific products only; or globally so that it appears on all product pages.

How to list WooCommerce products with a specific custom field value

Finally, I'll show you one more option for showing WooCommerce custom fields in the Product Table plugin.

As well as displaying custom field labels in the table layout, you can create tables containing products with a specific custom field value.

For example, if you wanted to display products with a custom field value of '2023' (saved in a custom field called 'Year') then you could do it with this shortcode:

[product_table cf="year:2023"]

Another example: Perhaps you have a custom field called ‘condition’ and want to display products with a custom field value of ‘new’. You can do this using the following shortcode:

[product_table cf="condition:new"]

Case study – How Wavelength Electronics display WooCommerce custom fields

Wavelength Electronics sell technical products in the electronics industry. As with most technical products, customers need to check a lot of information before making their purchase. With all the extra product data to display, Wavelength Electronics used our WooCommerce Product Table to create WooCommerce custom fields to help their clients quickly find what they’re looking for.

The product table now displays a datasheet column with a PDF icon for each item, so customers can open up the datasheet straight from the product table. There’s also a column with ticks to show which models include a temperature controller.


How to create custom fields without a plugin

If you're a developer, then you might be wondering how to add custom fields to a WooCommerce product programmatically. Can you even add custom fields to a WooCommerce product without plugins?

The answer is yes! WooCommerce allows you to programmatically add custom fields to products without installing any additional plugins. However, as you can imagine, the programmatic approach to creating custom fields for WooCommerce products involves programming!

With a programmatic approach, you can add custom information directly to your product metadata. You can also include your custom field(s) as part of the existing WooCommerce product data meta box.

Code sample 1

Your code will depend on the kind of custom fields you're looking to add to your products. Many product types only need a simple custom text field to let users enter some value. For such use cases, this custom text input field snippet by WooCommerce developer Rodolfo Melogli suffices:
code snippet

As you can see, you’ll be using a bunch of core WooCommerce functions and hooks in the code. For example, you're using the WooCommerce hook "woocommerce_before_add_to_cart_button" to show your custom field on your product page. You're also using the woocommerce_add_order_item_meta hook to save your product input fields for Woocommerce into the order meta information. These can vary greatly depending on the custom fields you're trying to add.

When you take such input from your users, you should include it in your cart page summary (with your cart item details), your checkout, and also in your order's email. The snippet we just saw doesn't just let you allow your users to enter a text-based value inside your product page but also takes it over to your cart and checkout. Not just that, it adds the custom input to your order confirmation email too.

Code sample 2

Next, we'll share some example codes kindly published by Plugin Republic. You'll be adding these snippets to your WordPress child theme's functions.php file. You could use the code snippet below to register a custom field, display the input field in the General tab of the WooCommerce product data box, and save it as product metadata:

/**
* Displays the custom text field input field in the WooCommerce product data meta box
*/
function cfwc_create_custom_field() {
$args = array(
'id' => 'custom_text_field_title',
'label' => __( 'Custom Text Field Title', 'cfwc' ),
'class' => 'cfwc-custom-field',
'desc_tip' => true,
'description' => __( 'Enter the title of your custom text field.', 'ctwc' ),
);
woocommerce_wp_text_input( $args );
}
add_action( 'woocommerce_product_options_general_product_data', 'cfwc_create_custom_field' );
/**
* Saves the custom field data to product meta data
*/
function cfwc_save_custom_field( $post_id ) {
$product = wc_get_product( $post_id );
$title = isset( $_POST['custom_text_field_title'] ) ? $_POST['custom_text_field_title'] : '';
$product->update_meta_data( 'custom_text_field_title', sanitize_text_field( $title ) );
$product->save();
}
add_action( 'woocommerce_process_product_meta', 'cfwc_save_custom_field' );

Then, you could use WooCommerce's many hooks to display that field data on the front end of your e-commerce store at the spot where you want it to appear.

For example, this snippet displays the custom field data after the add to cart button on your single product page:

/**
* Displays custom field data after the add to cart button
*/
function cfwc_display_custom_field() {
global $post;
// Check for the custom field value
$product = wc_get_product( $post->ID );
$title = $product->get_meta( 'custom_text_field_title' );
if( $title ) {
echo get_post_meta($post->ID, 'custom_text_field_title', true);
}
}
add_action( 'woocommerce_after_add_to_cart_button', 'cfwc_display_custom_field' );

There are also other hooks that let you display information on the WooCommerce checkout page or the cart page.

Is It worth adding WooCommerce custom text fields programmatically?

While you don't need any plugins to programmatically add custom fields to WooCommerce using this method, you can end up with errors. Your custom code could have compatibility issues with the other WooCommerce extensions or WordPress site plugins that you might be running. You can also experience code validation errors.

As you can tell, using plugins is a much simpler way to add custom fields to product pages. While it is possible to display custom fields without the use of a plugin, it's really only accessible to developers. That's why the methods described above are a better option for most store owners.


2 easy ways to create and display custom fields

And that's it! I've shown you two easy ways to show custom fields on your website:

  1. We've learned how to add custom product input fields for WooCommerce to collect extra information from customers. This uses the WooCommerce Product Options plugin.
  2. We also learned how to use a free plugin to store extra data about our products and display them using the WooCommerce Product Table plugin.

Neither method for adding custom fields to WooCommerce products requires any special technical knowledge.

Follow whichever method in this tutorial interests you the most, and put it into practice on your own website. It's a fantastic non-technical way to store and display extra product data in WooCommerce.

If you sell lots of similar products, then how can customers choose between them? A WooCommerce product comparison table is the solution.

Your store might have exactly what a particular customer has come looking for. But, there’s just too much stuff for them to sift through that it’s starting to affect your conversion rate.

Low conversion rate? Customers struggling to find precisely what they want? This is where WooCommerce Product Table - the best WooCommerce product comparison table plugin - comes in.

WooCommerce product comparison table plugin

A WooCommerce product comparison table plugin, like the one above, lists products in a way that makes it easy for customers to find what they’re looking for, and to compare similar products. The aim is to present products alongside each other so that customers can make direct comparisons and quickly and easily choose which ones to buy.

Related Tutorial: Create Product Tables with WooCommerce Product Comparison Buttons

What’s wrong with most WooCommerce product comparison table plugins?

The WooCommerce product comparison table plugin market is crowded, and we won’t pretend there aren’t plenty of products available. These often let customers tick 2 or more products and then view them on a separate page. You might also come across static table plugins where you have to manually enter the data.

There are a couple of problems with most comparison table plugins for WooCommerce. Here are the problems they face:

  • Don’t have features to help customers find products to compare in the first place.
  • Show the product comparisons in the same layout as the rest of the store, instead of having a dedicated comparison table.
  • Contain very little product data in the tables – usually image, name and price. You can add extra data if you create comparison tables using a static WordPress table plugin, but you have to enter everything manually which is no good.

We think we can do better.

WooCommerce Product Table is a different type of product comparison plugin. It automatically lists products in a searchable, sortable table layout with filters. You can add columns of extra product data to the comparison table, letting customers compare products in a more meaningful way. And if you use it with its sister plugin - WooCommerce Quick View Pro - then you can even add quick view options to your comparison tables.

Read on to discover how to use it to create the perfect WooCommerce product comparison table. Below you'll find written and video instructions, so get you get started straight away :)

How does the WooCommerce comparison table work?

WooCommerce Comparison Table Plugin

WooCommerce Product Table is highly flexible and there are many ways to configure your tables. Used correctly, it functions perfectly as a WooCommerce comparison table plugin.

Demo: See the WooCommerce comparison table in action!

This is how customers can use it to compare products in WooCommerce:

  1. Customers will view a page on your website with products listed in a table The table provides several ways to find the products to compare. They can type a keyword into the search box. The filter dropdowns above the list – and/or filter widgets in the sidebar – make it easy to refine the list. They can sort the table by clicking on any column header. Customers can even filter the table by clicking on a category, tag or custom taxonomy term.
  2. As the customer filters the table, the number of products listed will decrease until they can just see the products they want to compare This works slightly different from some WooCommerce product comparison table plugins, because you are filtering the table instead of ticking boxes. It’s a neat way to do it because this helps customers to find suitable more products more quickly, instead of having to scroll through a long list of products.
  3. You can include as many columns of product data as you like in the table Each product takes up 1 row in the table, and customers can easily view the data for each product and make direct comparisons. For example, if you’re selling smartphones and want to compare the storage capacity, then you can include a ‘Memory’ column in the WooCommerce comparison table.

The product of all of this is customers are able to find what they’re looking for much more quickly. This feeds in to a higher conversion rate, and in turn more sales, revenue, and profit for you.

How can the WooCommerce product filter plugin enhance product comparisons?

WooCommerce Product Table with Filters

While the WooCommerce comparison table is a great tool for customers to compare products side-by-side, it can still be difficult for them to find the exact products they are looking for. This is where the WooCommerce Product Filters plugin comes in.

By adding more advanced filtering options to the comparison table, such as categories, attributes, and tags, customers can use the facets to examine closely the content they're looking for. This means they can quickly and easily compare products that meet their specific criteria, leading to increased sales and customer satisfaction.

For example, a customer might be comparing laptops and want to narrow down the options by screen size, processor, and price range. With the addition of product filters, they can easily find and compare the laptops that match their requirements, rather than scrolling through a long list of products.

Case study - WooCommerce comparison table of electrical products with extra technical data

WooCommerce product comparison table plugin example

Universal Fans sell a wide range of fans to retail and the trade. They have used the WooCommerce Product Table plugin to create a WooCommerce comparison table for their exhaust fans. This helps customers to find the right fan for their needs, based on a range of technical data.

The comparison table page consists of 4 tabs, each containing a product table listing a specific type of fan. The comparison table includes columns for SKU, image, name, price, plus several product attributes containing technical data. Each column in the table is sortable. Customers can also filter by duct size or perform a keyword search.

To allow more space for the product comparison data, Universal Fans have decided not to include buy buttons in the table. Instead, customers can click on any fan to access the single product page where they can choose options and buy.

Universal Fans said:

I am very happy with the plugin, for us it works really well. We sell relatively technical products, so it is really helpful for customers to be able to view products in certain categories and view them in a list format, which can be sorted by custom attributes.

As you can see, WooCommerce Product Table is the perfect product comparison table plugin for a site like Universal Fans. Next, I'll show you how to create comparison tables for your own WooCommerce store.

How to create a WooCommerce product comparison table

WooCommerce Product Table only takes a few minutes to set up. You don’t need to do any data entry or custom coding. Assuming you already have a WooCommerce site with products, it works instantly and lists your existing products in a neat comparison table.

Watch the video tutorial, or read the detailed written instructions below.

  1. First, get WooCommerce Product Table and install the plugin. Activate your license key using the instructions in the confirmation email.
  2. Next, go to the page where you want to add a WooCommerce product comparison table. You can also create a new page, if you prefer.
  3. Finally, add the shortcode [product_table].
Create WooCommerce Product Table

This will list all your products in a comparison table. Customers can perform a keyword search and sort each column in the table, but there are no filter options at this stage.

Default WooCommerce Product Table

Improving your WooCommerce comparison tables

The section above covers how to list all your products in a basic comparison table with filters. By default, the WooCommerce table plugin comes with some standard columns of data – name, short description (summary), price and “add to cart” buttons.

This works pretty well in and of itself as a product comparison table. However, the WooCommerce comparison table plugin comes with lots of options to configure your tables so you can make it even easier for customers to refine the list and compare products. Our knowledge base is full of detailed specifics on how to tailor the plugin to suit your needs.

To get you started, in this section I’ll summarise the main options that will help you create fantastic comparison tables.

You can see a product comparison table on our demo page.

Choose which products appear in the comparison table

By default, the WooCommerce product comparison table lists all the products in your store. This is ideal for many types of comparison shopping, because customers can view the full list and use the filters to refine it according to their interests.

However, if you sell different types of products, then you might want to provide multiple comparison tables listing different categories. For example, it’s unlikely anyone would want to compare t-shirts and shoes in the same clothing comparison table, so it’s best to list these separately.

Fortunately, WooCommerce Product Table can be used to create tables listing specific products only. You can create comparison tables with products from a certain category, tag, or even products with a specific custom field or taxonomy value.

Add more filters for refining the comparison table

WooCommerce Product Table FiltersIf you add filters=”true” to the product table shortcode (as I did in the example above), it will show some default filters for your products.

You can have much more fine control over how customers can narrow down the list of products in the comparison table.

For the filter dropdown lists above the table, you can choose which filters appear. You can also add extra data within filters, such as product attributes, variations, product add-ons, and custom taxonomies.

The comparison table plugin also comes with built-in filter widgets. These replicate the widgets that come with WooCommerce itself, but are designed to work with the product tables. If the page with your comparison tables has a widgetized area such as a sidebar, then you can add widgets to refine the list by attribute, price, or rating.

Check out our knowledge base article for full instructions and examples of all the filter options for your WooCommerce product comparison tables.

Add product quick view to the comparison table

Sometimes, you want customers to be able to access more information than you can fit into the comparison table. But the dilemma is that you want to keep them on the product comparison table, and not direct them to a separate page for each product! That's because you want them to add multiple products to the cart, not just buy one product!

WooCommerce Product Table Quick View Magnifying GlassThe solution is to use WooCommerce Product Table with our other plugins, WooCommerce Quick View Pro. This adds quick view buttons and/or links to the WooCommerce product comparison tables. Customers can view extra product images and information, choose options and add to the cart, from a quick view lightbox window.

This is a great compromise because you can show extra information without taking customers away from the comparison table page.

Create comparison tables with extra product data

The great thing about using WooCommerce Product Table for your comparison tables is that it gives you full control over the displayed product data - and you don’t have to edit any code to do it!

You can choose exactly which columns are included in the product comparison table. The plugin supports all the standard WooCommerce fields that you fill in when you add new products. It also supports extra fields such as product attributes, variations, product add-ons (if you’re using the WooCommerce Product Options plugin), custom fields and taxonomies.

This creates an opportunity to create much more useful WooCommerce product comparison tables, which isn’t possible with other plugins. Make the most of it by planning your columns carefully!

To let customers compare products in WooCommerce, I recommend thinking carefully about what data they will want to compare. For example:

  1. If people will be comparing the price of your products, allow easy price comparisons by including a price column. And even better, use the price filter sidebar widget.
  2. Use columns such as weight and dimensions for items such as furniture, where customers are buying based on size.
  3. Adding product attributes allows for direct comparisons of information such as size and colour (or whatever you like!). List each attribute as a column in the comparison table. Add each attribute type as a filter above the table, or use the built-in filter widgets.
  4. Use WooCommerce custom fields and taxonomies to store extra data about your products and list this as columns in the table. This can include additional technical data that you’re not storing elsewhere.

Change how products are added to the cart

The default WooCommerce comparison table includes standard “add to cart” buttons. If you prefer, you can replace these with checkboxes so that customers can add multiple products to the cart at once.

If you don’t want customers to purchase directly from the comparison table, then you can remove the add to cart column altogether.

Include the stock status

WordPress guru Chris Lema quite rightly pointed out that:

"No one wants to see that one product is better than another only to add it to a cart or go to the details page of the product and find out it’s out of stock and won’t be available for weeks."

With that in mind, it’s a good idea to include a stock column in your product comparison table. WooCommerce Product Table supports WooCommerce stock levels. Simply add a ‘stock’ column to the table. Customers can make sure the products they’re comparing are in stock, to avoid frustration.

Create affiliate product comparison tables in WooCommerce

Lots of WooCommerce websites make money by providing helpful comparisons of products sold by third party websites. Each product has an affiliate link. This earns the website owner a referral commission if the customer clicks through and buys the product from the other website.

You can easily create affiliate product comparison tables without adding any further plugins. WooCommerce has a built-in product type called External/Affiliate Products. You add products in WooCommerce as usual, but select this product type and add your referral link to the affiliate product.

WooCommerce Product Table fully supports External/Affiliate Products. Your affiliate links will appear in the WooCommerce product comparison table instead of add to cart buttons.

You may also like: Earn Affiliate Commission with a WooCommerce Product Reviews Website

Lazy load option for bigger comparison tables

Sites with many types of products in a WooCommerce comparison table plugin (e.g. 100s or 1,000s of products), can activate lazy load to prevent any performance problems. This loads 1 page of products at a time, so your site will never crash however many products there are to compare.

Use icons to allow more visual product comparisons

You can make your WooCommerce product comparison tables more eye-catching by adding icons or content added by other shortcodes. For example, you could use icons to represent the different features of your products, instead of listing features using text.

This lets customers compare products more visually, as they can instantly see which features are available in each product.

Tip: To get this working, you might need to add shortcodes=”true” to the product table shortcode. This tells the comparison table to render any code correctly in the table, instead of just showing the code.

Compare product variations in WooCommerce

So far, I've talked about how to create a WooCommerce comparison table to compare actual products. If you prefer, you can use the instructions from this tutorial to compare product variations instead.

To do this, you need to use the option to list each variation as a separate row in the table. Your customers can use the filters to refine the list of variations in the table, and then compare the ones they're interested in.

Get the WooCommerce product comparison table plugin

WooCommerce Product Table is the perfect plugin for comparing products.

By listing your product data in a structured table or grid view, customers can make direct comparisons and decide which product to buy. Customers are able to filter products so they only see items directly related to their purchase intent, and the ability to include stock status and add-to-cart options directly in the comparison table itself will directly impact your conversion rate.

This post has covered the exact steps you need to take to increase your sales with a WooCommerce product comparison table plugin. All you need to do now is put this into practice, and watch the sales come in.

The easier it is for customers to view and compare your products, the more likely they are to make a purchase – and ultimately to make your store a success. Do share in the comments how you end up having this set up on your site :)

WooCommerce Build Your Own Product Plugin

The great strength of WooCommerce, the world’s top e-commerce system, is its immense flexibility. While it’s widely used for simple stores, it’s also possible to use WooCommerce to create highly responsive, easy-to-use ‘Build Your Own Product’ websites.

Whether you want to sell bespoke vegetable boxes, luxury food, or gift baskets, build your own pizza or burrito, build a box, or something else, you can do it with WooCommerce.

Used creatively, WooCommerce is perfect for selling custom product boxes and bespoke orders. Customers can choose from a selection of products in different categories to order a bespoke combination that is unique to them. They can view items in a user-friendly list, tick the ones they want, and add to the cart – all from a single-page WooCommerce order form.

Pretty neat, right? Below you’ll see an animation showing a WooCommerce build your own product system in action.

Build your own hamper WordPress plugin

Best of all, it’s surprisingly easy to create a WooCommerce build your own product system using the flexible Product Table plugin to list the product options. You won’t even need to write any code :)

This tutorial will cover everything you need to know to get started on your own WooCommerce "build your own" product site. We’ll show you how to install and set up WordPress and the required plugins, different strategies for organizing and listing your products, and handy design tips to tailor the WooCommerce Product Table plugin to suit any kind of business.

Examples of WooCommerce build your own product websites

First, let’s look at the types of WooCommerce build your own product that you can sell with WooCommerce. This will help you to understand the options and think about what you need for your website.

1. Build your own pizza, sandwich, wrap, burrito, or salad

A WooCommerce takeaway restaurant website might want to let customers choose fillings and build their own meals. This could be used to create a customized pizza, sandwich, sub, wrap, burrito, salad, or other customizable product box.

Online food ordering system

For example, the item choices might work as follows:

  • Build your own pizza – choose your base, choose your sauce, choose your toppings, and choose your dips.
  • Create your own sandwich – choose your bread, choose your fillings, choose your salads, and choose your sauces.
  • Build a burrito website – choose your fillings, choose extras, and sides.

The WooCommerce build your own product website would have separate lists of the different types of items – one for each category. For example, the pizza example would start with a list of bases, followed by a list of sauce choices, and so on. Customers could add as many extras as they like to the cart, all from one page.

2. Create your own gift basket

There’s something depressing about buying a basket/hamper as a gift when you don’t get to choose what’s in it! Whether you’re buying a food, beauty, or gift basket, it’s far better to build your own gift basket with items that you know your loved one will enjoy.

You can use WooCommerce to develop a custom gift basket website. This might involve creating 3 separate categories: one for the hamper or box options; one listing all the foods/gifts/cosmetics/etc to fill the gift basket; and one with the padding and wrapping options. Customers can choose their options and add all the individual elements to the cart, creating their own custom gift baskets.

3. Custom meat or vegetable boxes with WooCommerce

The meat and vegetable box industry is growing rapidly as more and more people discover the benefits of local and organic food.

There are 2 main types of meat box or vegetable box websites:

  1. Some companies use WooCommerce to sell the same weekly meat or veg box to all their customer. This contains whatever produce is currently in season, and customers can’t choose the contents. You may sell a choice of meat or vegetable boxes (e.g. Small and Large boxes), but there are no customization options for individual customers. The best way to set this up is to add each box as a separate WooCommerce product (e.g. meat box, fruit box, and vegetable box), with or without variations (e.g. size options). Display the products and/or variations in a table using WooCommerce Product Table. Use YITH WooCommerce Subscriptions to get recurring revenue, as customers can sign up to receive the same box weekly, fortnightly, or monthly (or at whatever regular intervals you choose).
  2. The other type of vegetable box scheme allows customers can selecting the items to include in the box. Instead of ordering a box with pre-defined contents, customers can view a list of available items and create a custom product box. The custom food box company will then fill each box individually, and deliver it to them. Continue reading this tutorial to learn how to set this up.

Make sure you’re clear on specifically what you’re building before proceeding.

You may also want to check out another tutorial of ours: Use WooCommerce to create a restaurant online food ordering system.

How will customers build their own product?

Build Your Own Product Website WooCommerce

If you follow this tutorial to set up your own WooCommerce build your own product system, it will work like this:

  1. The customer will be taken to a single page listing all the items that are available to choose from, divided neatly into sections/categories. (Or if you prefer, you can divide the process among several pages.) Each section can have basic instructions above the list of products, for example: “Please choose 1 item from each section.”
  2. Customers can select all the items they require. Standalone items will appear on their own row in the list. Mutually exclusive items will appear as dropdown lists so that customers can choose between them. If you use an additional Product Add-Ons plugin (more info about this below), then you can also add further options such as checkboxes and custom gift messages.
  3. Once they have selected their items, the customer can click the ‘Add Selected to Cart’ button. This will add all the products to the WooCommerce cart with the selected options.
  4. Next, the customer can click through to view their selected products in the cart, view the total price, and make any changes. They can then access the checkout, enter their details and pay online.
  5. As the store owner, you will receive email notification of each new order. You can then build the product containing the items they have selected, and deliver it to them as appropriate.

See it in action on our ‘Build a gift basket’ plugin demo page.

What will my build-your-own WooCommerce site cost?

The great thing about selling WooCommerce build your own products is that you’ll be using the self-hosted version of WordPress. You will own your own data, and won’t have to pay high monthly charges for a hosted e-commerce platform. It also gives you more control over what your website will cost.

Here’s a list of the various elements of your WordPress WooCommerce website and what they might cost:

Your WooCommerce build your own product website

  • WordPress CMS (content management system) – this powers your overall website and is 100% free of charge.
  • WordPress theme – free (if you choose, you can purchase a premium WooCommerce theme for approx $65. However, the Storefront theme featured in this tutorial is free).
  • WooCommerce plugin – this adds the core e-commerce functionality to WordPress and is also free.
  • WooCommerce Product Table plugin – this paid-for plugin lists your products in a table layout so that customers can choose and customize the options to build their boxes.
  • Bonus: WooCommerce Product Options plugin – you only need this if the product variation options that come built into the free WooCommerce plugin aren’t suitable. The core WooCommerce platform lets customers select customization options from 1 or more dropdown lists. If you want further options, such as multi-select checkboxes or custom gift messages, then you’ll need the Product Options plugin too.
  • Any further plugins you choose to add extra functionality.

Other costs

  • Web hosting (Ongoing cost) – There are many web hosts for various price ranges. If you’re outside of Europe, we recommend signing up direct with WP Engine. It’s important to choose an optimized WordPress host because it will ensure your website loads quickly, is reliable and you won’t lose sales due to downtime etc. It also comes with extra features such as backups with one-click restores, and free staging sites. Scrimping on hosting is a false economy.
  • Payment gateway fees If your customers will be paying for their WooCommerce build your own products online, then you will need a payment gateway. This will take a percentage of each sale in fees. PayPal is the easiest payment option to set up and charges are just a few percent. If you will be receiving a lot of online orders then I’d recommend a provider with cheaper fees such as Stripe.

Total up the options you’ll need to give you an idea of the cost involved. It’s remarkable just how inexpensive it is to set up a website for your business creating your own products.

With those costs clear, we’re nearly ready to cover how to actually create your WooCommerce “build your own” product website. But first, let's have a quick look at 2 websites that are already using WooCommerce and product tables to sell customizable products.

Case study #1 - using WooCommerce to sell build-your-own cosmetic experience boxes

WooCommerce build your own experience box cosmetics

Inspire Cosmetics uses the WooCommerce Product Table plugin to sell pick-your-own experience boxes of cosmetics. They've built a multi-step page where customers are taken through an intuitive journey to build a box. First, you choose an experience box. Second, you choose the experience box contents from 2 tables listing the cosmetics products. Third, you complete your order via the WooCommerce cart and checkout.

They used the Beaver Builder WordPress page builder plugin to create the tabbed layout. To boost performance, each tab links to a separate page but the customer has the illusion of remaining on one page for the entire process.

They also use the WooCommerce Quantity Manager plugin to ensure that people select the correct quantity of items for their experience box. This allows them to sell different-sized boxes with the correct validation rules.

Case study #2 - using WooCommerce to sell bespoke baskets for pets

Build your own product example

Barks and Squeaks uses WooCommerce Product Table to sell create your own product gift baskets for pets and their owners. Customers can quickly choose variations and create a custom gift basket containing multiple products. You can use the filter above the table to narrow down the list, speeding up the buying process.

Now you've seen the WooCommerce design your own product system in action on 2 real websites, I'll show you how to set it up yourself!

How to create a WooCommerce “build your own product” website

Building a website from scratch can be a daunting proposition, but WordPress, and its custom plugins, make it really easy.

This section will show you everything you need to know: you’ll learn how to set up WordPress and an appropriate theme, along with the plugins you need. Then, I’ll show you how to use those WooCommerce plugins to set up your product categories and tables so you can create your own product page for your customers.

You don’t need any technical know-how – I’ll explain everything you need to do :)

Step 1 – Set up WordPress

First, sign up with a good WordPress web host such as WP Engine and follow their instructions to install WordPress.

Once you’ve logged into the WordPress admin for the first time, go to Appearance → Themes and install a theme. Themes are the “templates” on which all WordPress sites are built, and there are hundreds of thousands to choose from, so you can make your site look just how you want.

You can either buy a premium theme and install it, or use a good quality free theme such as Storefront. All the product images in this tutorial and the accompanying video use the Storefront theme.

If you don’t like the design of Storefront, check out its many child themes which offer a good choice of themes for your WordPress website design. There’s even a child theme designed specifically for food websites!

Step 2 – Install WooCommerce

When you first activate WooCommerce, you’ll be taken to a Setup Wizard. This will walk you through the main steps to creating your online store. For example, it will auto-create your main pages such as the shop page, cart, and checkout. You can choose your tax and shipping settings and set up payment gateways. You can then use the official WooCommerce documentation to make any further changes to the overall setup of your online shop.

Step 3 – Create ‘build your own product’ categories

Once you’ve set up WooCommerce, it’s time to create the categories that the ‘build your own product’ system will be divided into. First, write them down on a piece of paper to make sure it’s logical and user-friendly.

WooCommerce Build Your Own Product Categories

Think about the best way to grouped product elements. For example, if you’re creating a ‘build a gift basket’ website then you might want 3 categories: one for the box/basket, one for the contents, and one for finishing touches such as padding and bows.

Remember, you’re creating a tailored user experience: you need to take the customer on a journey to create the custom product, making one decision at a time.

Once you’ve planned a category structure, go to Products → Categories in the WordPress admin. Create as many categories as you need.

Step 4 – Plan your products

Now, it’s time to create some products. Each of the items that customers can choose as part of the "build your own" process will be a ‘product’ in WooCommerce. Again, it’s best to plan your products before adding them to the website:

  1. First, write a list of all the separate items that customers will be able select when building their product. Structure the list into the categories you created a minute ago. For example, if you’re building a ‘design my own pizza’ website, your list should include things like bases (deep pan base, Italian base), sauces (tomato sauce, spicy garlic sauce), toppings (pepperoni, ham, meatballs, mozzarella, goat’s cheese), and so on.
  2. Next, decide whether to create each item on the list as an individual product, or whether to group them into variations. I’d recommend using individual products for standalone items, and variable products for items that the customer has to choose between. For example:
    • In the pizza example, the customer only needs a single pizza base, so you would add a single variable product called ‘Pizza Base’. You might then add 2 variation options to this product: ‘deep pan’ and ‘Italian’. Later, I’ll show you how to display these on an order form with a dropdown so that customers can select a base from the 2 options. (NB: with variable products, it will still sometimes be possible for customers to choose more than 1 option if they want to. However, using this format will discourage them from doing so).
    • For other types of items, such as pizza toppings, the customer can choose as many as they like. It’s not an ‘either/or’ choice and the toppings aren’t dependent on each other. You should add each of these items as individual products, not as variations.
WooCommerce Build Your Own Products List

Tip - Use Add-Ons for extra product options

If variations aren’t flexible enough then you can add extra product options using the WooCommerce Product Options plugin instead. This has extra options such as check boxes, radio buttons, the ability for customers to add some custom text, etc.

Step 5 – Add the products

Once you’ve worked out all the products that you’ll need to create, and decided on the format, it’s time to add them to WooCommerce. Follow this process for each product:

  1. Go to Products → Add New in the WordPress admin.
  2. Add all the product data such as title, description, category, and upload a featured image.
  3. In the ‘Product Data’ section, choose a product type:
    1. Select ‘Simple Product’ if you’re creating a standalone item that can be added to the eventual WooCommerce build your own product without variations. Add a price, plus choose the stock options if you want to use stock control.
    2. Select ‘Variable Product’ if you’re creating several mutually exclusive items for customers to choose from (like my pizza base example in the previous section). This is slightly trickier to set up – please follow the instructions on creating attributes in the WooCommerce documentation. Once you’ve created your attributes, tick the ‘Use for Variations’ box and go to the ‘Variations’ tab. You can then select your attributes and create the variations (one for each options) with their own pricing and stock control.
    3. If you’re using WooCommerce Product Options to provide extra options, then you can use these with the Simple or Variable product type. Add your options under Products → Options.
    4. Finally, click Publish to add the product to the website.

Now comes the fun part!

Build Your Own Product Website with Variations

Step 6 – Create a ‘build your own product’ page

It’s time to list everything on a single page or order form, so that customers can select items and build their own product. You’ll need our WooCommerce Table plugin for this:

  1. Buy WooCommerce Product Table and install it. (You'll receive instructions in the confirmation email.)
  2. Go through the options and choose your product table defaults. These will be used whenever you create a product table, and you can override them in the individual shortcode for each table.
  3. Create a page (Pages → Add New) which you will use for the custom product box online order form. Add whatever information you like to this page, for example instructions and any rules/restrictions that customers should follow in selecting their products. (E.g. you might add instructions like “Choose 1 product from each category”.
  4. Divide the page into sub-headings – 1 for each category. For example, a ‘design my own pizza’ website might need H2 subheadings for Base, Sauce, Cheeses & Toppings.
  5. After each sub-heading, add this shortcode:[product_table category="toppings" cart_button="checkbox"]. (If you selected the checkbox option on the plugin settings page, just put the closing bracket after “toppings”). Instead of toppings, add the actual ID or slug for the relevant category. (You can find the slug on the Products → Categories page, and the category ID is the number in the URL of the Edit Category page). The shortcode will list the items from each category in a product table with the default columns. There will be check boxes next to each item so that customers can select them and add to the cart.
  6. If you’re using variable products, you should also add variations=”dropdown” to the shortcode (unless you already selected this on the settings page). E.g. [product_table category="toppings" cart_button="checkbox" variations="dropdown"].
  7. Use the WooCommerce Product Table knowledge base to customize the tables in many different ways.

WooCommerce Product Configurator Plugin

Split the 'build a box' process across multiple pages

In the previous section, you learned how to add multiple product tables to a single page. Alternatively, you can split the 'build your own product' ordering process across several pages.

Depending on what you're selling, this can have several benefits:

  • If you have a small selection of products then it makes sense to keep everything on one page. In contrast, if you have a lot of products or options then it's good to use multiple pages.
  • It can also be better for performance, as fewer products are being loaded all at once (although WooCommerce Product Table does come with a lazy load option, which helps with page load times).

How to set it up

To create a multi-step ordering process, it's important to make things as easy as possible for the customer. The process must be simple and intuitive. For example:

  • You might add a 'Next Step' button under each product table, intuitively directing users to the next page after they add products to the cart.
  • For an even more seamless user experience, install the free WooCommerce Add to Cart Custom Redirect plugin. List your basket/box products on the first page of the order process, and use this plugin to redirect each one to the page where you've listed the box contents products. Users will automatically be redirected to the correct next page, depending on which box they choose. This is an excellent option if you offer different content products for each box. (Tip: To use this product with WooCommerce Product Table, you must ensure that the ajax_cart option is disabled. The redirection only works if the page refreshes after adding a box to the cart.)

Configure your product list

You’re now nearly there! The next step is to configure your WooCommerce product list.

Now you’ve got all your data set up, WooCommerce Product Table comes with dozens of options to get the tables looking just right for your website. For example, you can choose which columns to display in the table to make them more relevant to your store. You can change how many rows appear per page before pagination buttons appear.

If you have lots of products, you can add ways for customers to find what they want more quickly. For example, you can add filter dropdowns above each list so that customers can filter by category, tag, attribute, custom taxonomy, etc. You can also add filter widgets to the sidebar. Or for more advanced filtering, use WooCommerce Product Table alongside the Product Filters plugin.

If you have lots of products, variations, or add-ons, there’s a ‘lazy load’ option to prevent any performance issues. There are also options to control how the responsive tables adjust for customers using mobiles and tablets. The WooCommerce design your own product allows customers to customize their products by adding images, text, and other elements.

An example to get you started

As you can see, there are many options for how to list your WooCommerce build your own product inventory. The plugin demo site includes an example of a ‘Build Your Own Gift Basket’ WooCommerce product configuration. Here’s the shortcode that we used to create the 3 product tables on this page. It uses some pre-selected options for this type of website, for example changing the type of Add to Cart button, showing suitable columns, and hiding any extra elements that aren’t needed.

[product_table category="contents" cart_button="checkbox" variations="dropdown" columns="image,name,description,price,buy" page_length="false" search_box="false" reset_button="false" totals="false" links="none"]

Feel free to use this shortcode as a starting point. Use it once for each category – in the category section of the shortcode, replace ‘contents’ with the slug for your own categories. Read through the knowledge base to make any changes and decide which options will appeal to your customers and maximize your sales.

Add the 'build your own package' to the shop and category pages

So far, I've talked about how to sell WooCommerce design your own product on a standalone page. You can incorporate this into the navigation for your overall WooCommerce store. For example, you might include the 'build your own' product on the main WooCommerce shop and category pages. To do this, simply create a product called 'Create your own gift package' (or similar). Next, select categories for the gift package contents. Add the WooCommerce Product Table shortcode to the product description. This will list products from the gift package category on the single product page.

Bonus options

By now, you know how to create a website where customers can select multiple items to create a custom build your own bundle. Before we finish, I’ll tell you about some plugins that can further enhance your website.

WooCommerce Quick View Plugin Build Your Own Product
So far, you've learned how to list the components of your 'build your own' WooCommerce products on a single page, with an add to cart column listing all the options. That's fine if you have a small number of options for each product. But what if you're creating more complex 'build your own' systems, with many variations or product add-ons? You can see from the screenshots above that the product list will start to look cluttered if you have too many options.

If this applies to the build your own products in your ecommerce store, then WooCommerce quick view is the solution:

WooCommerce customizable product quick view
WooCommerce Product Table Quick View Magnifying Glass
The WooCommerce Product Table plugin featured in this tutorial is designed to work with our other plugin, WooCommerce Quick View Pro. Use the two plugins together to add a quick-view column to your product tables. Customers can use this to view more images, extra information, choose options and add to the cart from a lightbox popup.

Quick view is a great way to tidy up your build your own product lists without having to take customers to a separate page for each product.

Get WooCommerce Quick View

Set quantity rules and defaults

WooCommerce gift basket plugin

Out of the box, all your WooCommerce products will have a default quantity of 1. Customers can choose as many of each item as you require.

Many 'build a box' schemes need more control over product quantities. Specifically, they need to ensure that customers order the right number of items from each category. You can easily do this with the WooCommerce Quantity Manager plugin.

How it works

Let's say that you have created 3 sections for your WooCommerce built-your-own-product system: Box, Contents, and Finishing Touches. You can add minimum and maximum controls like this:

  • Box - Set the minimum and maximum quantity for this product to 1.
  • Box contents - If you want customers to choose up to $30 worth of items, then set the maximum category value to $30. Alternatively, set a minimum and maximum quantity so that customers have to choose a certain number of items instead.
  • Finishing Touches - To let customer choose up to 2 decorative options for their gift box, set the maximum category quantity to 2.

Where possible, the WooCommerce Quantity Manager plugin will stop customers from adding the wrong quantity in the first place. For example, the quantity field for the 'Box' product won't let customers select more than 1.

If the customer tries to add too many items from the box contents category, then they will see an error. The error will be helpfully worded and will advise them what they need to change.

If the cart doesn't contain enough products from a certain category then again, a helpful error will ask them to add more.

To improve user experience, I recommend adding clear messages about the quantity requirements to the build-your-own-product page. You can see an example of this in the screenshot above.

Sell different products for each box or basket

So far, we've assumed that you will be offering the same box contents products to everyone, regardless of which box they select.

If you'd rather sell different products depending on the box, then you can do this too.

Simply create a separate category for each gift basket and use WooCommerce Product Table to create a table listing all the products for each box. Put the box itself in the same category, and use the sort options in WooCommerce Product Table to list the box first. Use the free Product Dependencies plugin to prevent people from buying the contents products unless they have also added the correct box to their cart.

Can I add a fixed price for each box option, instead of charging separately for the box contents?

Some people use WooCommerce Product Table to create a 'build a box' website with a fixed price for each box. For example, they might offer Box A for £10 and Box B for £20. Each box contains a different number of products.

Again, you can achieve this by using WooCommerce Product Table with the WooCommerce Quantity Manager plugin.

How to set up fixed price boxes

  1. Create a product for the box options, and add a price. If you want to offer a choice of boxes, then you can add these as separate products, or a single product with variations. If you just have one box, then you can use the Force Sells plugin to automatically add the fixed price product to the cart whenever someone adds the box contents - this saves them having to manually select the fixed price product, so they can skip straight to selecting the contents.
  2. Next, create a category for the box contents. Add all the options as products within this category. The price for each product should be 0.00. (You don't need to charge for the box contents, as it's a fixed price box.)
  3. Use the Quantity Manager plugin to control the minimum and maximum number of each product in the box contents category. For example, if the $15.00 box can contain up to 5 items then you should set a minimum quantity of 1 and a maximum quantity of 2.
  4. Also use the quantity plugin to ensure that customers cannot checkout unless their cart contains a box product. This prevents them from ordering contents without a box.
  5. Use WooCommerce Product Table to list products from the box contents category. To do this, use the category option to specify which products you wish to display. This will create a table listing the box contents, with each option on its own row. Customers can tick the options they require and add them to the WooCommerce cart.

To place an order, your customers will add 1 box option to their cart, along with the maximum number of box items. They will be charged for the box itself, but the box contents will not be chargeable as they are free.

A few tips

  1. If each box option can have a different number of items, then you will need to create a separate category for the contents of each box and set a different maximum quantity. You could then list the contents of each box as separate tables lower down the page, or even on separate pages if that would look messy - e.g. with buttons underneath the list of boxes, linking to the contents of each box. (If you want a quick way to duplicate products then I recommend the Duplicate Post plugin. If you're cloning products and want to manage inventory across the retail and wholesale versions of each product then we recommend the Group Stock Manager plugin. This lets you share stock levels across multiple products.)
  2. The price for most of the box contents will be set to zero, since people have already paid for their box. However, you can increase the revenue from each box by listing some extra box items which aren't included in the basic cost. Add a price for the chargeable variations. If people add them to the box, then the extra cost will be added to the order. It's a nice way to increase your revenue from the 'build a box' scheme!

Can I sell box subscriptions, and let customers change their order each week/month?

This is possible, with a bit of extra work.

1. Create your subscription and box contents products

  1. First, install YITH WooCommerce Subscriptions and create a subscription product for each box. Create a separate category for these products. Use WooCommerce Product Table to list products from this category on a public page. Customers can view the subscriptions, sign up and pay online. (Note: The subscription product is just for the ongoing subscription/membership plan - do NOT include options for choosing the box contents as part of the subscription product. You'll create separate products for the box contents next.)
  2. Next, create categories for the box contents products. Add each option for the box contents as a separate product, or as variable products with a choice of options. Decide whether or not to charge for these products:
    • If all products are included within the ongoing subscription plan, then leave the price of the box contents products as 0. This is because the customer has already paid via their subscription and the products are essentially free.
    • If customers have to pay for each item in addition to the subscription cost, then add prices for each product.
    • Alternatively, if you include some products within the basic subscription and charge extra for more expensive items, then you can do that too. If the customer selects chargeable items then they will make a one-off payment for these at the checkout, otherwise they can choose their box contents and check out for free.
  3. Create a new product page for choosing the box contents. Use WooCommerce Product Table to list the products from these categories.
  4. Finally, use the Follow-Up Emails plugin to automatically email your customers at regular intervals, reminding them to order the box contents for that subscription period. The emails should contain instructions on how to log into their account and order their box contents for that week/month.

2. Restrict access to the box contents products

  • Restrict what subscribers can order, and how often If you want to control how many items customers can order for their box, then you can add the WooCommerce Quantity Manager plugin.
  • Prevent non-subscribers from ordering box contents products To prevent non-subscribers from ordering the monthly/quarterly box, you need to restrict the page where you've listed these products. Do this using the WooCommerce Protected Categories plugin. Use it to password protect the box contents categories. Change the password regularly and use the Follow Ups plugin to email the password to active subscribers, along with a link to the hidden page.

Can customers change their box each week?

Some WooCommerce subscription box websites like to sell subscriptions for a fixed weekly/monthly cost, while giving customers the option to choose the box contents each week. Unfortunately there is no straightforward way for the customer to change their box each time. The way WooCommerce Subscriptions works is that they subscribe to receive the same products each time.

My suggestion

Lots of people have asked us how to do this, so here's a suggestion:

  • Use YITH WooCommerce Subscriptions to sell the subscriptions without any actual products (i.e. box contents) associated. For example, you might have a product called 'Weekly Box - 10 Items'. This would bill the customer a fixed amount each week.
  • In a private area on your site (which you could create using our WooCommerce Protected Categories plugin), you could add the products that are available each week. Create a separate category for each subscription option. You would then use the WooCommerce Quantity Manager  plugin to restrict the number/value of items that the customer can order from that category. Set the price for each product to 0.00 so that customers can order the products each week without paying extra. Or if a product has a surcharge on top of their fixed subscription amount, then you can set this as the product price and they must pay this when they check out that week.
  • Use the Follow Ups extension to automatically email the customer each week with a separate email for each type of subscription. The email should include details of how to access the hidden area where they can choose their products for the week, and the deadline for ordering. Each week, the customer will log into their account, view the hidden category containing the products that are available on their subscription, select them from the product table, and check out in the usual way.
  • As with all subscription box services, if the customer doesn't order specific products before the weekly deadline then you would choose the items for them.

That's a lot of plugins!

I realise that this method involves combining several plugins. They are all reputable plugins which we have tested to work well together. If you don't wish to code it from scratch yourself (which would be very complex - and therefore expensive) then we believe this is the best method for allowing customers to choose different contents for their subscription boxes each week.

Can people order a “build your own box” without having to pay online?

Yes, you can do this. When you set up WooCommerce, you need to choose one of the offline payment options. For example, you can enable payment by check or invoice. You can reword these to anything you like, so your customers won't see the word 'check'.

They can then place the order in WooCommerce without having to pay. You will receive an email notifying you of the order. This will contain details of the selected products and the customer's contact details. You can then arrange payment offline in whichever way works for you.

Shipping plugins

Finally, you need to consider how you will ship the custom products to customers. The built-in WooCommerce options are fine if you're happy to charge a flat rate for each shipping zone. Here are some further suggestions that will give you more control over shipping costs:

  • Advanced shipping options WooCommerce comes with shipping zones and flat rate shipping options. If you’d rather charge for postage based on quantity or weight, use Table Rate Shipping.
  • Restrict shipping to a specific area If you only deliver locally, it’s a good idea to prevent people from outside of your delivery area from ordering. Do this using a plugin like Postcode Based Order Restriction for WooCommerce, or simply list your local post codes using the built-in WooCommerce shipping zones.

Get Building! How do you use WooCommerce build your own products?

And there you have it! You now know everything about creating a WooCommerce build your own product bundles page for your customers. Plus, you know doing this can be quick and easy using WooCommerce and the WooCommerce Product Table Plugin.

We looked at the advantages of allowing the customer more freedom. We saw some examples of the kind of businesses that can benefit. Then we went through a step-by-step guide to setting up a fully functional “build your own" product website.

Designing your own site doesn’t have to be hard, no matter what sector you work in. With this simple tutorial, and some help from the most powerful e-commerce platforms on the web, you’ll be able to set up a beautiful, easy-to-use site.

I’d love to hear how you’ve achieved a build your own system using WooCommerce. Did you use the plugins I’ve mentioned in this tutorial, or are there any good ones I’ve missed? Please add your comments below, and include a link to your site where we can see it working :)