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 :)

Easy Digital Downloads Table PluginEasy Digital Downloads is one of the top WordPress e-commerce plugins. Designed specifically for selling digital products, it's perfect for selling downloadable documents, ebooks, audiobooks, and music. The free Easy Digital Downloads plugin has a grid-based layout for displaying downloadable products.

Today, I'll introduce you to our Easy Digital Downloads Table plugin - Posts Table Pro. It provides a flexible shortcode to list Easy Digital Downloads products in a searchable, filterable table layout.

Easy Digital Downloads Product Table Plugin

Buy Plugin

Keep reading to learn how an EDD table plugin can help you to sell more digital products in WP. I'll provide step-by-step setup instructions, with everything you need to create an Easy Digital Downloads product grid. Plus, I'll introduce you to some premium add-ons and functionality that can take your EDD product tables to the next level. There's even a video where you can follow exactly what I'm doing. Let's get started!

Why do I need an Easy Digital Downloads table plugin?

Easy Digital Downloads table and grid layout plugins

The Easy Digital Downloads grid layout includes information such as a large product image, product name, star rating, short description, and link to the single download page. It's fine for many types of Easy Digital Downloads stores, whereas others can make more sales by adding an Easy Digital Downloads table plugin.

Some WordPress websites are better off with the standard Easy Digital Downloads product grid layout, while others benefit from an EDD table view. Think about the best way to list the type of digital products that you sell.

Benefits of an EDD table layout

  • Ideal for WooCommerce stores with lots of downloadsThe search box, column sorting, and filters make it easier for customers to find the downloadable products they want.
    • Create a one-page Easy Digital Downloads order form

    The default Easy Download Downloads product grid layout doesn't include the 'Add to Cart' buttons. Instead, customers must click through to the single download page before they can buy. You can speed up the buying process - and increase your sales - by creating a one-page order form. Customers can add as many downloads as they like to the shopping cart from the product table page, and complete their purchase using popular payment gateways like PayPal and Stripe, with the option for recurring payments for subscriptions and other premium add-ons.

  • Supports embedded audio and video Customers are more likely to buy your downloads if they can view audio and video sample tracks. You can add embedded audio and video players directly in the Easy Digital Downloads product table.
  • Add extra product data about your downloads The great thing about the Posts Table Pro table plugin is that it supports extra data such as Easy Digital Downloads custom fields and taxonomies. This lets you display extra product data in the Easy Digital Downloads table view. For example, you might create a custom taxonomy for 'Artist' and list it as a column in the table and/or as a filter dropdown. You could also store information in Easy Digital Downloads custom fields, such as an ebook's ISBN number or barcode. Again, this can be displayed as a column in the EDD table layout.

And there's more!

  • More digital products per page A table-based Easy Digital Downloads product list can include far more products per page. This makes it easier for customers to make buying decisions at a glance. They don't have to scroll through multiple pages of products. The standard layout includes big images, with no option to change the image size. The EDD table view can show or hide the physical products image, and you can also choose the image size.
  • Support for variable product prices As well as Add to Cart/Buy buttons, the Easy Digital Downloads product table automatically supports price variations in EDD. Customers can select a price option before adding to the cart.

What types of stores need an EDD table view?

Next, we'll look at some use cases. These will help you decide whether an Easy Digital Downloads table plugin is the best way to list your own products.

Digital music catalog

WordPress Audio PluginAn Easy Digital Downloads shop with hundreds or thousands of products can benefit from an EDD table plugin. Instead of listing the products from each category in a long grid layout, an EDD table makes it easier and quicker for customers to find music they like.

For example, they can type a keyword in the search box or click on any column header to sort and find an artist they like. They can use the filter dropdowns above the Easy Digital Downloads table to refine the list and view the specific music products they're interested in.

You can embed actual music players directly in the Easy Digital Downloads table view. Just add the WordPress audio shortcode to any field in the table and it will appear as an embedded audio player. Customers can listen to a sample music track or playlist to check if they like it before buying. This is a fantastic way to increase your music sales.

Easy Digital Downloads product comparison tables

An EDD table view lets customers compare products side-by-side and make easy buying decisions. Customers can use the search box and filter dropdowns to instantly filter out the downloadable products they don't want. They're just left with the products they're interested in.

The extra data in the Easy Digital Downloads table columns makes it easy to compare products. For example, the EDD product comparison table might include columns for price or extra product data such as genre. Customers can filter the EDD table to find products that meet their criteria. They can then buy directly from the table, without having to visit the single product page.

Now you know why you need an Easy Digital Downloads product grid. Next, I'll give you a real-life case study so that you see it in action on a genuine ecommerce platform. After that, I'll show you how to set it up on your own ecommerce store.

Case study - An Easy Digital Downloads table plugin for Fascinated Sound

Easy Digital Downloads Audio Store Plugin

Fascinated Sound sell sound effects and music via their EDD website. They use Posts Table Pro to list 600+ downloadable audio products in an Easy Digital Downloads table view.

You can learn more about how they did it in our separate tutorial about WordPress audio plugins. Alternatively, read on to learn how to list Easy Digital Downloads products in a table on your own online store.

How to create an Easy Digital Downloads product table

  1. First, get the Posts Table Pro plugin. It lets you create all sorts of tables in WordPress, but we'll be using it as our EDD product table plugin.
  2. Use the instructions in the confirmation email to install and activate the plugin.
  3. After activation, the Posts Table Pro setup wizard will automatically open. It will guide you through entering your software licensing key and creating your first table.
  4. Follow the table wizard and customize the table that works best for your EDD store. Some tips:
    • Choose 'downloads' on the content type page. This tells Posts Table Pro to list Easy Digital Downloads products in the table.
    • DO NOT enable the lazy load option if you want to have the Buy buttons in the table, as these only work when the lazy load is inactive.
  5. Once you've completed creating your table with the Post Table Pro plugin, the setup wizard will confirm that you're finished and provide instructions for inserting the table onto your WordPress site. You can choose to use the "Post Table" block in the Gutenberg editor or copy the EDD advanced shortcodes from the table builder and paste it anywhere on your site, giving you the flexibility to place the table on any page regardless of its content.
Easy Digital Downloads Product Table Plugin

Available columns in the Easy Digital Downloads table view

To create a custom product table for Easy Digital Downloads, users can take advantage of Post Table Pro's table builder, which allows for easy customization with a drag-and-drop column editor. The generator offers a variety of column options to choose from, eliminating the need to know the correct syntax or use code-style column names. This intuitive approach makes it simple for users to create custom product tables without having to have technical expertise.

Recommended EDD table columns

  • Image: displays the primary product image, and you can select the image size.
  • Title: shows the name or title of the downloadable product.
  • Content: displays the main content of the product, which can be the full content or a set number of characters. However, if you're using a custom layout or page builder, this column may not look good in the EDD table. In that case, you can use the Excerpt column instead.
  • Excerpt: shows a brief description summarizing the product, which is recommended over the full content for the Easy Digital Downloads table.
  • Price: displays the main price for the product, including variable prices if you've added them. The table will show the default price for variable products.
  • Download Category: displays the category or categories of the download, which you can click on to filter the EDD table by category. You can also disable these links or set them to link to the download category page.
  • Download Tag: similar to the Download Category column, this displays tags instead and is another useful way to group and filter download products in the table.

The Easy Digital Downloads table can also list any custom field or taxonomy as a column. For example, you can create custom fields with a plugin such as Easy Post Types and Fields. This is ideal if you want to show Easy Digital Downloads custom fields or taxonomies on the front end of your website.

Other possible EDD product table columns

  • Product notes: If you've added special notes or instructions to appear on the purchase receipt for the product, then they will appear in this column of the table. For example, you might want to mention delivery timescales or methods here. (E.g. "You will receive the download via email within 1 hour of purchase.")
  • Author: The WordPress user who created the downloadable product. Not relevant for most Easy Digital Downloads tables, but I've included it just in case.
  • Date: The Publish date of the downloadable product. Again, you probably don't need this but it's there if you do. Change the date by editing the Publish date in the 'Downloads' list within WordPress.
  • Variable prices: This lists the different prices for any downloads in the tabDisplay Easy Digital Downloads Variable Pricesle with variable pricing. As you can see from the screenshot, this isn't formatted in a very user-friendly way. The data comes straight from Easy Digital Downloads and there are no options for configuring it. You're probably better off displaying the variation prices in a button column, or just showing the default price in the cf:edd_price column.
  • Download sales: Total number of sales you've had of each download in the table.
  • Download earnings: Total earnings. This isn't presented in an ideal format. For example, if a product has had $27,200.54 worth of sales then this will be displayed as '27200.540000'. There are no options to change this, other than custom coding - but you probably don't need this column anyway.
  • Download files: This column shows the link of the download file(s) in plain text. (If you want to add a clickable link then you'll need to add this manually as a custom field column instead.)

How to add a 'Buy' button to the Easy Digital Downloads table

You might notice that the list of EDD table columns doesn't include a 'Buy' or 'Download' button.

It is possible to add a Buy button to the Easy Digital Downloads product table. This doesn't happen automatically, but is pretty easy to set up yourself:

  1. Use a plugin such as Advanced Custom Fields (free) to add an extra field to the 'download' post type. Call it whatever you like - I called mine 'edd_button'.
  2. Now go to the Add/Edit Download screen for the download that you want to add a Buy button for. You'll see the field that you just created lower down the page.
  3. In the right-hand column, you'll see a 'Purchase Shortcode' field where you can copy an EDD advanced shortcodes for the Buy button. This will look something like: [purchase_link id="8381" text="Add to Cart" style="button" color=""]
  4. Copy the EDD Purchase Shortcode into the custom field you just created and Save the download.
Add EDD buy button to product table
  1. Now, you need to add the new custom field as a column in your Easy Digital Downloads table. To do this, go to Post Tables → Tables, click to edit the table, go to the columns page, and add a custom field column. This will prompt you to enter the name of the custom field.
  2. You must also go to Post Tables → Settings and enable the 'Shortcodes' option to display the button correctly in the table.

Warning: The EDD 'Buy' buttons do not work with the lazy load option in Posts Table Pro, so make sure you disable this on the plugin settings page. If you need to list a very large number of downloads and have to use lazy load, then you may need to remove the Buy column and allow people to purchase on the single download page instead.

Simplifying digital product purchases with Easy Digital Downloads

Now view your Easy Digital Downloads product table. You'll see the extra column, complete with a button to add the download product option to the checkout page. If you're using EDD product variations then the variable pricing options will appear before the Buy button. Nice!

Easy Digital Downloads Table Order Form Plugin

Note: The wording and styling of the buttons in the Easy Digital Downloads table are inherited from EDD and your theme. They looked fantastic straight away in the WordPress themes we tested with, e.g. Storefront. If you want to change how they look then you'll need to add some custom CSS.

Related reading: If you're creating a WordPress eBook store with Easy Digital Downloads, check out our Ultimate Guide to WordPress eBook Plugins & How to Use Them.

Selling the EDD All Access Pass

Easy Digital Downloads has an All Access extension which you can use to sell all your downloads for a fixed discounted price. There are a couple of ways to sell this from your Easy Digital Downloads product table. You can even sweeten the deal by offering additional discounts with the use of discount codes and coupons, which can be easily applied on the product table page.

Easy Digital Downloads extensions let customers choose whether to buy individual downloads, or whether to upgrade to the All Access Pass (which means more revenue for you)!edd table

  1. You could manually add a link to the All Access Pass product page or a 'Buy' button for the All Access Pass underneath the main add to cart button for each product in the EDD table.
  2. Alternatively, you could add a right-hand column to the page with your Easy Digital Downloads table. Use it to display a widget promoting the All Access Pass.

Personally, I would recommend option 2 because the All Access Pass applies equally to all your digital downloads, so you don't need to repeat it for each one individually.

Listing EDD downloads from a specific category

If you want to display download products from specific categories in your Easy Digital Downloads table, it's easy to do so. By setting your table to show products from one or more specific categories, you can filter out irrelevant products and display only the ones that are relevant to your audience.

Additionally, with Post Table Pro's table builder, you can easily select specific downloads to include in your table. This allows you to curate a table that showcases only the products you want your audience to see, making it easier for them to find what they're looking for and ultimately leading to more conversions.

Adding filters to your Easy Digital Downloads tables

While customers can use the search box or sort columns by default in Easy Digital Downloads tables, they don't have the option to filter results. However, with Post Table Pro's table builder, adding filters is easy. The filter dropdowns can be added above the table and customized to fit your needs. With the ability to add as many filters as you like, you can make it simple for customers to narrow down their search to find exactly what they're looking for.

The filters available are extensive and can include categories, tags, authors, and any custom taxonomy that you've created. With the use of filters in Easy Digital Downloads extensions, you can improve the user experience for your customers and help them easily find and purchase the products they need.

Here's an example of an Easy Digital Downloads table with category and tag filters:

Easy Digital Downloads filter plugin

By default, the EDD product image and name will link to the single download sales page. This is where customers can see full details of the downloadable products, such as the full description and reviews.

If you don't want to link to the product detail page, then you can disable links in the Easy Digital Downloads table layout. Do this by going to Posts Tables → Settings, finding the Links option, and typing "none" in the box.

EDD table view plugin

Giving away free downloads

So far, we've talked about how to sell downloadable products in a table layout.

However, some Easy Digital Downloads sites like to give away free downloads. You can do this by adding Free Downloads of Easy Digital Downloads extensions. This will work with the instructions in this tutorial.

Can I hide my EDD products or make them private?

Posts Table Pro lists your Easy Digital Downloads products in a table and doesn't affect their visibility. To discover an easy way to password protect EDD download categories or hide them from public view, check out our other tutorial:

How to Password Protect Easy Digital Downloads Categories: 3 Easy Ways

Meet EU tax law

Easy Digital Downloads EU VAT trimmed

When you sell digital products online, it's important to make sure you meet European tax rules. This applies if you sell to customers in the EU - even if you're not based in the EU yourself.

You can easily do this with the Easy Digital Downloads EU VAT plugin. This is designed to help any EDD store to charge the correct VAT to each customer and provide all the evidence you need.

Get EDD EU VAT

Where to get the plugin

As you can see, an Easy Digital Downloads table is an ideal way to list EDD products. It's really flexible and you can choose which columns of product data to include, add filters, and more.

To create your own EDD tables, get Posts Table Pro today. Follow the steps in this tutorial and start increasing your download sales.

WooCommerce User Specific Products Plugin

Lots of people use WooCommerce to sell user-specific products. For example, you might want to sell different apparel or merchandise to sports teams or soccer clubs. Maybe you privately sell uniform products to to schools. You might sell branded company workwear with the company's logo, and need a hidden area of WooCommerce for each customer.

Perhaps you sell the same products to each customer, but with different prices. Maybe you're a health practitioner or service provider, and only sell to existing patients rather than the general public.

Whatever your reason for creating WooCommerce user-specific products, I'll show you how to do it. And the best thing is, it's really easy and you don't need to edit any code!

Which WooCommerce user-specific products plugin?

WooCommerce User Specific Products Plugin

We're going to create your user-specific products with our popular WooCommerce Protected Categories plugin.

This simple plugin lets you add hidden product categories to any WordPress WooCommerce store. You can have a separate category for each customer, each with their own user-specific items.

Your sports teams, clubs, companies or other types of customer will use a simple password to log into their organization's hidden category. Or if you prefer, you can automatically restrict your user-specific categories so that each one is only visible to a specific logged in user. Once they've unlocked their private WooCommerce category, they can view and buy their user-specific products. No one else will even know that their hidden products exist!

You can also use this plugin for user-specific pricing in WooCommerce. Simply follow the instructions in this tutorial, and add a different version of each product - each with its own unique price - to each customer's category.

Tips:

  • If you need a way to quickly clone products for each organization, then the free Duplicate Posts plugin is perfect.
  • If you're cloning products and want to manage inventory across each version of the product then we recommend the Group Stock Manager plugin. This lets you share stock levels across multiple products.

Let's get started.

Before you follow this tutorial

Before you start, you should have a WordPress website set up with the free WooCommerce plugin installed. The official WooCommerce documentation is a good starting point.

You can then use this tutorial to create your WooCommerce user-specific products and categories.

How to create user-specific product categories in WooCommerce

  1. WooCommerce Protected Categories Screenshot - Plugin Settings Page
    Configure the plugin on the WooCommerce Protected Categories settings page

    First, get the WooCommerce Protected Categories plugin. You'll use this to create your hidden customer-specific products.

  2. Secondly, install the plugin and enter your license key on the plugin settings page. You'll find this in the order confirmation email.
  3. Also on the plugin settings page, DO NOT tick the boxes to show your protected categories and products in the public parts of your store. This is important, as your WooCommerce user-specific products should only be visible to sports teams and organizations with the correct password.
  4. Next, go to Products -> Categories in the WordPress admin. Create a separate category for each sports club/organization that you wish to sell user-specific products to. Tick 'Protected' and either password protect it, or restrict it to a specific user.
  5. If you want to provide multiple categories for each organization, then you can do this by adding 1 or more sub-categories. You can create nested structures with as many sub-category levels as you like. As long as you set all the sub-categories to 'Public' and select the organization's main password-protected category as the 'Parent', all the sub-categories and their products inherit the same protection. Organizations only need to login to their account or enter a password once to unlock their whole hidden area.
WooCommerce school category visibility

Now add your user-specific products

  1. Now, you can add all the user-specific products. For each one, tick the appropriate product category. Leave the product visibility settings as the default. The plugin will automatically protect them with the same password(s) as the protected category.
  2. Lastly, create a user-specific category login page. This depends on whether you've set up password-protected or user restricted categories:
    1. WooCommerce password protected categories. Add the shortcode [category_login] to any page of your site. All the sports teams/organizations will use this login page to access their user-specific products. The plugin will redirect them to their own personal category when they enter the password.
      Now, link to this page in any way you like, for example from your navigation menu, website header or footer. Or you can keep the login page hidden and email it to your customers instead.

WooCommerce wholesale login plugin

  1. User restricted categories - Add a link to a front end login page. This could be the main WooCommerce 'Account' page, which displays a login form to logged out users and guests. Or you could install a front end login plugin such as Theme My Login. Either way, users can use this page to login to their account and unlock their hidden products.
    Finally, you can instantly redirect customers to their personal WooCommerce store by installing the free Peter's Login Redirect plugin. This has a handy feature to add a custom redirect URL for each individual user. Simply add the URL of their hidden WooCommerce category.

And that's it!

In 7 simple steps, you have created WooCommerce user-specific products and categories.

The sports teams or other types of organization will visit your website and access the login page. They will enter the password for their user-specific category, or log in to their WordPress user account. They will be redirected to the correct hidden category containing their user-specific products.

Each organization's category and their products are hidden from public view, so only people with the correct access details can see them. This includes hiding them from search engines and other places that people might accidentally find them.

Once your customers have found their user-specific products, they can add them to the cart and checkout using the standard WooCommerce checkout. You can use other plugins to add multiple payment gateways, shipping options, and everything else you need to make your store a success.

Related: Build a WooCommerce Wholesale Store with Hidden Categories for Each Customer.

Bonus tip #1 - Get more sales with a WooCommerce product table layout

WooCommerce order form plugin demoBefore we finish, I'll tell you about another great plugin for selling WooCommerce customer-specific products.

Our bestselling WooCommerce Product Table plugin lists products in a space-saving table view. It's an ideal layout for user-specific products because you are selling to the same customers on a regular basis. They're already familiar with your products and would rather order quickly from a one-page WooCommerce order form. They don't want to scroll through large images and multiple pages of products.

The WooCommerce table view lets your customers see all their branded products in one place. They can quickly search, sort and filter the table to find what they want. The multi-select checkboxes make it easy to tick as many products as they need. Finally, they can click a single button to add everything to the cart.

WooCommerce Product Table integrates beautifully with WooCommerce Protected Categories. Once the customer has unlocked their user-specific category, their own personal products will appear in the product table. This means that you can create a product table listing all your products, and each customer will only be able to see their own personal products. Neat!

Bonus tip #2 - Sell customizable products with Product Add-Ons

WooCommerce product configurator plugin

Many WooCommerce stores sell customizable client-specific products. For example, perhaps you sell sportswear or workwear and the client needs to upload their logo. Maybe the client wants to add custom text which you will print on their products.

You can do all this by adding another Barn2 plugin, Product Options. This lets you add extra fields to your user-specific products, such as File Upload fields and Text Input boxes. These fields appear on the single product page. Your customers can provide the extra information, and you will receive it via email once they place their order.

What do you need user-specific products for?

I hope the advice in this tutorial is useful and helps you to create your own WooCommerce user-specific products and categories. I'd love to know what sorts of organization you sell to that have their own unique products.

Do you provided branded apparel to sports teams? Maybe you sell corporate workwear with the company's logo. Maybe you do something else that I haven't thought of! Please let me know in the comments.

WooCommerce secret sale plugin

A WooCommerce secret sale plugin is perfect for creating a hidden sale, with special discounted prices that only pre-approved customers can see. Today, I'm going to tell you how to create secret sales for your own WooCommerce store.

We'll do it using the WooCommerce Protected Categories plugin, which just takes a couple of minutes to set up. You'll have your secret sale up and running in no time!

How does the WooCommerce secret sale plugin work?

WooCommerce Protected Categories is the perfect WooCommerce secret sale plugin. It works by creating a hidden WooCommerce category for your secret sale. The sale category contains your discounted products with the special pricing.

It's completely hidden from the public parts of your site, so only people with access to this hidden category can see the sale prices and buy at the reduced rates. Everyone else continues to see the full priced version of each product. They'll have no idea that the secret sale even exists!

There are 2 ways to share access to your hidden WooCommerce secret sale category:

  1. You can password protect the sale category with 1 or more secret passwords. Give the password to everyone who needs to access the secret sale.
  2. Alternatively, you can mark the WooCommerce secret sale category as 'private' so that only logged in users with the correct role can see it.

Next, I'll show you how to create a secret sale in WooCommerce with both options.

To follow these instructions, I'm assuming that you already have a WooCommerce website with full-priced versions of the products that you want to include in the secret sale. (If not, then the official WooCommerce documentation will help you get to this stage.)

Let's get started!

How to create a WooCommerce secret sale

  1. Get WooCommerce Protected Categories.
  2. Use the instructions in the 'Getting Started' email to install the plugin and activate your license key.
  3. On the plugin settings page, DO NOT tick the 2 options to show the hidden categories in the public parts of your store. You need the plugin to hide your secret sale products!
  4. Now, go to Products > Categories in the WordPress admin. Create a category called 'Secret Sale' (or whatever you want to call it). Don't worry about protecting it for now - we'll do this in the next section.
  5. If you want to sub-divide your secret sale into sub-categories, create these too. Select the main Secret Sale category as the 'Parent' of your sub-categories.
  6. Next, install the free Duplicate Post WordPress plugin. Go to the plugin settings page and make sure you have enabled the option to duplicate the 'Products' post type.
  7. WooCommerce duplicate product plugin
    How to duplicate a product in WooCommerce
  8. Now go to the main list of Products in the WordPress admin (this is the 'Products' list on the left). Hover over each product that you want to include in the WooCommerce secret sale and click the 'Duplicate' link that appears.
  9. This will clone the product and save the new version as a draft with '(Copy)' in the title. Click on each of your cloned products and make the following changes:
    • Remove '(Copy)' from the title.
    • Remove the product from the full-price category, and tick the secret sale category instead.
    • Change the main product price to the correct sale price.
    • Click the blue 'Update' button.

Now, your WooCommerce secret sale category contains a cloned version of each product with the special discounted price.

The next step is to protect your hidden sale category and hide it from public view.

Option 1 - Password protect your secret sale category

The easiest option is to password protect the category that you're using for the WooCommerce secret sale. Go back to the Edit Category page (Products > Categories in the WordPress admin). Click to edit the category and click the 'Password protected' option in the Visibility section. Enter 1 or more passwords to protect the secret sale category.

If your secret sale category has any sub-categories, leave these set to 'Public'. They will automatically be protected with the same password(s) as the main secret sale category, so customers can unlock the entire sale area with a single password.

Next, you need to create a way for eligible customers to access the WooCommerce secret sale category. You can either link directly to the secret sale category page (e.g. from your navigation menu or an email). Or, you can create a secret sale login form by adding the shortcode [category_login] anywhere on your site.

Either way, whenever someone tries to access the secret sale category (or one of its sub-categories), they must enter a valid password before they can see the sale products inside.

Option 2 - Restrict your sale category to specific logged in user roles

If all your customers already have a user account on your WordPress website, then you may want to automatically show the secret sale to eligible customers. This is more customer-friendly than forcing them to enter a separate password to unlock the secret sale.

You can achieve this using the private categories option in WooCommerce Protected Categories. Private categories (and their products and any sub-categories) are completely hidden from public view. They are visible to logged in users with the correct role.

  1. Go to Products > Categories and click to edit your WooCommerce secret sale category.
  2. Go to the Visibility section and select 'Private'.
  3. Save the category.

Chose which user roles can access the WooCommerce secret sale

Edit WordPress user roles for private categories, posts and productsBy default, this will make the secret sale products visible to logged in administrators and WooCommerce store managers. You probably want other user roles to be able to access the sale too. The free User Role Editor WordPress plugin is the solution. Follow these instructions to choose which role(s) have access to the private secret sale content.

If you want ALL logged in users to have access to the secret sale, then you need to make private content available to the Customer and Subscriber roles. If you want to create a separate user role for the secret sale, then you can do this too. That way, you can continue showing the prices to normal customers, with an extra user role for people who can access the secret sale.

Tip: You can change each customer's user role by going to the main Users page in the WordPress admin, clicking to edit the user, and selecting a different role from the dropdown.

How do users log into the secret sale?

If you're using the private categories option for your WooCommerce secret sale, then the discounted products will automatically be available to logged in users with the correct role. You don't need a separate login form for the secret sale.

Instead, customers can simply login using the standard login form for your WooCommerce store. If you haven't added one yet, then the WooCommerce 'My account' page will automatically show a login form to logged out users. Or if you prefer, you can create a login form using a plugin such as Theme My Login. Either way, logging in will unlock the secret sale for the correct user roles.

Ending your WooCommerce secret sale

All good things come to an end, and secret sales are no exception.

When it's time to end your secret sale, it just takes a minute to close it down:

  1. Use the free Redirection WordPress plugin to automatically direct everyone who tries to access your secret sale category to your main WooCommerce store. This will prevent people from seeing any broken links, for example if they have bookmarked the sale page. If you want to be really belt and braces, then you can also do the same for your sale products.
  2. Next, you can either delete your secret sale category completely via Products > Categories. Or, if you're planning to reactivate your WooCommerce secret sale in future, then just change the password to something that no one else knows. That way, you can easily create new sales in future, but you've locked everyone out for the time being. (If the category is set to private, then you just need to switch it to 'Password protected' and add a password.)
  3. Decide whether to delete your sale products or keep them dormant until the next secret sale. If you decided to keep them, then you don't need to worry about anyone seeing the discounted prices while the sale is inactive. They're still in the password protected category and will remain hidden from public view.

Now you're ready to set up the WooCommerce secret sale plugin

And that's it! In this tutorial, I've told you everything you need to know about how to create a WooCommerce secret sale. You can create a category for your sale, add a discounted version of each product, and hide it from public view. I've shown you how to password protected the secret sale, or make it available to specific user roles only.

Now it's time to get started and use the WooCommerce secret sale plugin on your own website. The plugin comes with a full 30-day money back guarantee, so you can try it risk-free today. Happy selling!