1. Documentation /
  2. Product Bundles /
  3. Product Bundles v5.0 - What's New

Product Bundles v5.0 – What’s New

WooCommerce Product Bundles version 5.0 introduces many features requested by store owners and developers.

The biggest upgrade to date, the release addresses the scalability and stock reporting requirements of large stores and brings even greater pricing and shipping flexibility for creating complex bundles.

Requirements

↑ Back to top

WooCommerce 2.4 or higher is now required. If your site is running an older version, it’s time to consider updating.

Greater Pricing Flexibility

↑ Back to top

Previous versions of Product Bundles allowed you to assign a static price to bundles, or have the price of each bundled product added to the base bundle price by ticking the Per-Item Pricing option.

The new version improves on this concept by introducing a Priced Individually option, which can be enabled for specific bundled products if their price needs to be calculated independently from the base bundle price.

Since this is now controlled at bundled product level, the Per-Item Pricing option is no longer present in version 5.0.

New Priced Individually bundled product option.
New Priced Individually bundled product option.

Version 5.0 also introduces a new group of price-related options: Price Visibility.

These options allow you to hide the prices of specific bundled products in the single-product, cart/checkout and order details sections of your store:

The new Price Visibility options group.
New Price Visibility options group.

Greater Shipping Flexibility

↑ Back to top

In previous versions, a bundle could either be shipped as a single physical item, or as a group of physical/virtual items by ticking the Per-Item Shipping option.

The new version introduces two changes:

  • Bundles can be saved as virtual or physical at will – same as every other WooCommerce product type.
  • Bundles override the shipping properties of their contents by default. However, the new Shipped Individually option allows you to maintain the original shipping properties of any bundled product. This makes it possible to select specific bundled products that need to be shipped individually from their container.

Reminder: The Per-Item Shipping option is no longer present in version 5.0.

Configuring a bundled product to be Shipped Individually.
Configuring a bundled product to be Shipped Individually.

Bundled Product Stock Reporting

↑ Back to top

Monitoring the availability of bundles when their contents run low in stock has always been a challenge for store owners. Why? WooCommerce stock reporting tools make it easy to tell when a product starts to run low in stock, but are not helpful for telling if the remaining stock of a product is sufficient to meet requirements of all bundles that contain it – a common challenge faced by store owners who manage hundreds of bundles.

Version 5.0 introduces a new Insufficient Stock section under Reports > Stock, which greatly simplifies the task of managing bundled product inventory.

The new section provides a list of all bundled products with insufficient stock, including a link to every affected bundle. For convenience, every entry also includes details such as the available product quantity and the quantity required by each bundle.

Bundled product inventory management - made simple.
Bundled product inventory management – made simple.

Other Features

↑ Back to top

New Layout Option

↑ Back to top

There is a new Layout option under the Bundled Products tab that allows you to change the single-product layout of your bundles by selecting:

  • the Standard layout you are familiar with; or
  • a Tabular layout, ideal for displaying bundled products with configurable quantities.

Edit Bundles from the Cart

↑ Back to top

Bundles are now editable from the cart by enabling the Allow editing in cart option located under the Advanced tab.

Downloadable Bundles

↑ Back to top

Bundles can now be marked Downloadable, making it possible to add downloadable content at a bundle level. Useful if you are offering Product Bundles with downloadable items and need a way to include a single file with all downloads.

Developer Notes

↑ Back to top

New Database Structure and API

↑ Back to top

Version 5.0 introduces a new database structure for storing and retrieving bundled item data (bundled items and bundled item meta) based on custom tables. The new structure is scalable and allows complex data queries that were previously impossible, e.g., Finding all bundles with a specific product.

The new database structure is complemented by a database API that consists of:

  • A new data class that represents bundled item data objects and handles all CRUD operations.
  • Functions for querying bundled items and retrieving, modifying and destroying bundled item data.

More details at the Developer Resources available with version 5.0.

New Cart/Order APIs

↑ Back to top

To make it easier for developers to work with bundles in the cart/orders, version 5.0 includes cart/order APIs that make it easy to:

  • Establish bundle parent/child item relationships
  • Validate and add bundles to the cart/orders programmatically

Shipping Improvements

↑ Back to top

Finally, version 5.0 makes it simpler to:

  • Develop custom integrations with third-party Shipping, Fulfillment and Inventory Management Services.
  • Reconstruct an accurate shipping representation of a bundle when exporting order data.
  • Filter bundle SKUs in cases that require building a custom “kit SKU” from the products physically packaged in a bundle.

Refer to the Functions Reference of Product Bundles for details.

WP REST API Product/Order Fields

↑ Back to top

WooCommerce 2.6 added support for REST API endpoints based on the WordPress REST API infrastructure.

Product Bundles 5.0 extends the /products/ and /orders/ endpoint responses with two new fields: bundled_by and bundled_items.

  • In order context, the bundled_by field is applicable to bundled order items and references the order item ID of their parent, while the bundled_items field is applicable to bundle parent items and lists the associated bundled order item IDs.
  • In product context, bundled_by lists all product bundle IDs that a product has been added to, while bundled_items lists the bundled item data associated with a product of the bundle type.

Questions and Support

↑ Back to top

Have a question before you buy? Please fill out this pre-sales form.
Already purchased and need assistance? Get in touch with us via the Help Desk!