How to create composite products in WooCommerce
WooCommerce does not include a true configurable composite product type in core. You can use a grouped product for a simple collection, but a plugin is needed when customers choose components, prices change with selections, or each component needs its own stock management.
- 01Decide how the bundle works
- 02Prepare the component products
- 03Use a grouped product for a simple bundle
- 04Install a composite-product extension
- 05Create the composite product
- 06Set pricing, stock, and test checkout
What you need
- A WooCommerce store with products already created
- Admin access to WordPress
- Stock quantities and component rules decided
Decide how the bundle works
List the parts of the product and decide whether each component is required or optional. Decide whether customers choose one item from each component, whether they can change quantities, and whether the total uses a fixed base amount or is calculated from the selected products.
Use a variable product instead if the customer is choosing attributes of one item, such as size and colour. Use a composite product when the selection contains several separately managed products and multiple SKUs must be affected by the order.
Prepare the component products
Create each component as a separate simple or variable product before creating the bundle. Add a price, SKU where needed, and the correct stock settings to every product or variation that may be selected.
Do not leave a component without a price. WooCommerce may treat it as not purchasable, even when the component price will not be shown separately. This is a common reason for missing options or a disabled add-to-cart button.
Use a grouped product for a simple bundle
For a fixed collection where customers only need to add existing products to the cart, go to Products > Add New. Enter the parent product details, choose Grouped product in the Product data panel, then use Linked products to add the child products.
This is the manual route and it is fine for displaying several related products on one page. It is not a true configurable bundle: customers add the child products separately, and you do not get component rules, conditional choices, or one composite line item.
Install a composite-product extension
If customers must build a kit from selectable parts, install a composite-product extension through Plugins > Add New, or upload its ZIP file and activate it. Confirm that WooCommerce is active, then open the product editor and check that the extension has added a composite product type.
A composite extension is needed for configurable components, component-level stock handling, optional selections, quantity limits, and totals that respond to the customer’s choices.
Create the composite product
Go to Products > Add New, enter the product title and descriptions, then choose Composite Products in the Product data selector. Open the component settings and add one component for each part of the kit, such as body, lens, accessory, or packaging.
For each component, add the allowed simple or variable products. Set whether it is required, choose a default where appropriate, and set minimum or maximum quantities. If the extension supports category, tag, or attribute sources, use those instead of adding every product manually when the list is large.
Set pricing, stock, and test checkout
Choose a fixed base total when the kit has one set price, or enable individual component pricing when the total should change with selections. If you want a kit discount, apply it through the component or bundle settings provided by the extension rather than changing the standalone product prices.
Save the product and test required, optional, variable, and out-of-stock choices. Check the cart, order, email, and stock quantities. If many components or options fail to save, ask your host to check PHP’s max_input_vars; complex product editors can exceed the common default. Also check that loopback requests work, because failed loopbacks can prevent component stock from updating correctly.
Fast way: use WPC Composite Products for WooCommerce. Install and activate it, create the component products first, choose the composite product type, add the components, set required or optional selections and quantities, then choose fixed or automatically calculated totals. Its component products remain inventory-managed as standalone products.
Let WPC Composite Products for WooCommerce do it
Build configurable bundles from simple or variable products with fixed or dynamic pricing and separate component stock.
Sources
- woocommerce.com /document/composite-products/composite-products-use-case-con…
- woocommerce.com /document/composite-products/composite-products-configuratio…
- woocommerce.com /document/group-bundle-products-woocommerce/?utm_source=open…
- wordpress.org /plugins/wpc-composite-products/?utm_source=openai
- woocommerce.com /document/composite-products/troubleshooting-composite-produ…
- woocommerce.com /document/composite-products/?utm_source=openai
- woocommerce.com /document/composite-products/composite-products-faq/?utm_sou…
Questions
- Can WooCommerce create composite products without a plugin?
- No, WooCommerce core does not provide a true configurable composite product type. Its Grouped product type can place several existing products on one page, but customers add those products separately and you do not get component selection rules, conditional options, or a single configurable kit workflow. Use a grouped product only when that simpler behaviour is acceptable. <cite></cite>
- What is the difference between a grouped and composite product?
- A grouped product displays several existing products together and lets the customer add them to the cart individually. A composite product lets the customer configure a kit made from components, such as choosing one product from each section, while the component products retain their own stock records. Choose grouped for a simple collection and composite for a configurable kit. <cite></cite>
- Do component products need their own stock quantities?
- Yes, each selectable component should have its own stock settings when inventory must be tracked separately. The composite product uses those underlying products or variations, so an unavailable component can prevent the relevant configuration from being purchased. Check stock on both simple products and individual variations before publishing the composite. <cite></cite>
- Why is the composite add-to-cart button disabled?
- The usual causes are a component or variation with no price, a composite with no base price when all components are not individually priced, or a conflict with a theme or another plugin. Check every component and variation first, then test with current WooCommerce, a default theme, and third-party extensions temporarily disabled. <cite></cite>
- Why did some components disappear after saving?
- Large composite forms can exceed the server’s PHP input limit, so only part of the configuration may be saved. Ask your host to check <code>max_input_vars</code> and raise it when necessary. Product-filter plugins, query modifications, caching, and other extensions can also interfere with the options shown, so test the product on a staging site with conflicts disabled. <cite></cite>