Guide: How to Create Grouped Products in WooCommerce

grouped product

The grouped product function in WooCommerce is a simple option in the standard version to map product bundles. The method has advantages as well as some drawbacks.

The creation of a grouping is quick and easy. On the other hand, the standard functionality makes do without a deeper product logic, which can result in a variety of problems. More about that in a moment.

Creating Grouped Product & Child Products

This guide refers to the sample image from the post: The product bundle – in this case a garment combination – is listed in your online shop just like all other products. It does, however, contain various child products. These can be added to the cart separately – in any quantity.

Important: All child products are also listed separately in your online shop, meaning they can be purchased independently of the bundle.

As a first step, you create the grouped parent product. In the product data, you change the product setting from “Simple product” to “Grouped product”:

grouped products

Then you can do all the settings as described in our detailed guide for standard products. The only things that can’t be assigned are item numbers, prices, tax information, and some other data. That is because the grouped product actually cannot be purchased, it simply provides a frame for the individual items it contains.

Once you have saved the bundled product, you can then add all the products you want to include in the bundle via Products → Add Product. In WooCommerce, these are called the “child products”. For each child product, you select a regular “simple product”. You therefore have all options available to you.

Important: A grouped product can only contain simple products. Variable products (described in this tutorial) are not supported.

As a last step, you still have to assign the child products you just created to the grouping. Go to the tab “Linked Products” and select the option “Grouping”:


You can also add pre-existing products to a bundle. Once the parent product and its child products are published, your visitors will be able to select the product bundle.

Changing the Order of Displayed Products

To change the order in which the child products are listed (like in the example image from the post: The “shorts” should be listed before the “hoodie”), you can specify an individual prioritization in the settings for the child products under Product Data → Advanced → Menu Order:

menu order

This method will only work if you assign a number to each of the contained products. The default entry “0” must not remain for any of the products, as “0” and “1” are not distinguished.

Limited Functionality

WooThemes offers several (paid) plugins for the creation of more complex product bundles. There is a good reason for that. Grouped bundles can only map very simple bundles.

That is why customers can add just one of the contained products to the cart. Those of you, who wish to offer their customers the option of purchasing entire product bundles at a reduced (bundle) price, will not get what you need in product bundles. The functionality also doesn’t include logical conditions, for example “Product A excludes Product B”, or “Product C must only be contained X times”.

Important: In some cases, even the mapping of the prices can cause some problems. For example: WooCommerce does not list a totalled price range for the bundle in the product view. This calculation is reserved for the cart. You may have to discuss with your legal advisor, whether or not this point might be a problem for your specific business model.

Alternative Plugins

Alexander Haiser introduces some of the WooThemes plugins that are capable of supporting logic in product bundles at openstream. Here a small list of optional versions:

We will talk about some of these solutions within the scope of our plugin test series over time.

Upselling & Cross Sales

This blog post will give you some insights into how you can implement more complex upselling and cross selling options in your online shop. Even the standard WooCommerce version offers a simple option for linked products (have a look at the relevant subsection here).

WooCommerce furthermore offers the option to sell adaptable/customizable products, also known as “Mass Customization”. We have tested the relevant plugin “Product Add-ons” by WooThemes for you here.

Have you been using one of the solutions featured here? Which approach would you recommend to other WooCommerce users? We would really like to hear from you.

Post Sharing

Author Avatar

Editor at MarketPress. Passionate blogger, corporate blog expert and book author (e.g. "Blog Boosting"). Co-organizer of WP Camp Berlin.

Similar Posts


New Plugin: Slack Connector - Connect WordPress, WooCommerce and Slack

by Michael Firnkes

Initially we merely wanted to optimize our own Slack-processes. With automated notifications from our MarkettPress shop, the blog and our forums. The resul ...

Read more

Role Based Prices for WooCommerce is available again: Different prices for different customer groups

by Michael Firnkes

You want different prices for different customers and users of your online shop? E.g. for subscribers or wholesaler? Or do you need bulk prices? A lot of o ...

Read more

WooCommerce Weekly Review #7: Woo vs Magento, shop security and customer confidence

by Michael Firnkes

What is a WooCommerce shop in practice? And how do you protect it against external attacks? This and more in our Weekly Review. WooCommerce vs Magento: ...

Read more

WooCommerce Weekly Review #6: Translations, WordCamp Switzerland & avoiding legal warnings

by Michael Firnkes

WooCommerce was a hot topic at WordCamp in Switzerland. Progress is being made with the system translations and there are lots of useful new extensions. Th ...

Read more


1 Comment

  1. #1

    can we display images of child products too. ??

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">