Chained Products

Chained Products makes it possible to create and configure combo packs and bundles that sell well.

This even works for digital goods, in which customers are granted download access for chained products. And it allows you to manually add a combo product to an order.

Installation ↑ Back to top

  1. Download the .zip file from your WooCommerce account.
  2. Go to: WordPress Admin > Plugins > Add New to upload the file you downloaded with Choose File.
  3. Activate the extension.

More information at: Installing and Managing Plugins.

Creating Chained Products ↑ Back to top

  1. Add a new product (or edit an existing one).
  2. For “Simple Products”: Look for “Chained Products” field in “Linked Products” tab under “Product data”
  3. For “Variable Products”: Look for “Chained Products” field inside each variation
  4. Start typing name of a product you want to include in this bundle
  5. Select the exact product from the suggestions displayed
  6. Add as many products as you want and also set their quantities
  7. If you would like stock of chained products to reduce when the main product is order, tick “Manage stock for chained products?”
  8. Set up price and all other details for the main product as usual
  9. Click ‘Update’ or ‘Publish’ to save the changes

When customers order this product now, chained products will automatically be added to the cart and will remain in the order. The products stock will also be reduced if you opted for it.

If you opted to manage stock for chained products, customers won’t be able to order this product if any of its chained products are out of stock.

What Customers See ↑ Back to top

Chained products will be found under “Description” tab like this. You can customize Chained Products view part using it’s shortcode [chained_products].

Simple Product:



In cart:



On Order Complete page:


On Order Admin page:



In Order Completion E-mail:

Configuring Multiple Downloadable Products ↑ Back to top

With Chained Products, it is now possible to achieve “Multiple Downloadable Product” in WooCommerce.

Let’s take an example to understand it, suppose you have Monitors to sell that comes in different sizes. You have a common user guide for all monitors, but different warranty Terms & Conditions as document to be given along with Monitors.

You’ll have to create products as follows:

  1. Create a “Simple-Downloadable” product, name it as “Monitor User Guide”, upload a file for it, say “Monitor User Guide.doc”.
  2. Create 2 different “Simple-Downloadable” product or a “Variable” product with 2 product variations, make them downloadable and upload different file for different “Warranty Terms & Conditions.” Note: Don’t forget to add price to these downloadable product, otherwise any one can download these product without paying. One of the great feature of Chained Product is that it will add these downloadable product as FREE when these product are associated as chained product.
  3. Create a new “Simple” or “Variable” products (or open existing product). Name it as “Monitors”. Give it a price.
  4. Locate “Chained Products” under “Linked Products” tab if it is “Simple” product or under “Variations” tab if it is “Variable” product.
  5. Search for and select downloadable product created above for User Guide and Terms & Conditions. Save the changes.
  6. That’s it! Your “Multiple Downloadable Product” is now configured!

Now whoever will purchase “Monitors”, they will also get User Guide and Terms & Conditions’ download link after “Order Completion” via E-mail.

Let’s see some screenshots taken while purchasing “Multiple Downloadable Product”:

On Product Page:



On Cart Page:



On Order Complete Page:



In Order Completion Email:


Nesting or Reuse Existing Bundles ↑ Back to top

Chained Products allows you to reuse existing bundle, which reduces your effort in creating and maintaining bundles.

  1. Configure simple chained products. For example: Here Dell Laptop Bag is a main product and we have Flexible USB LED Light as a chained product.
  2. On the product shop page, Dell Laptop Bag will look like this with its chained products.
  3. Now let’s see the nesting / re-usability of chained products. For example: Here we have Dell Laptop as main product and we have Dell Laptop Bag as a chained product, now because of nesting Flexible USB LED Light will also become a chained product of Dell Laptop.
  4. On shop page we can see both Dell Laptop Bag and Flexible USB LED are chained products of Dell Laptop. The quantity of chained products is dependent on it’s main product’s quantity.

Configuring Priced Individually Chained products ↑ Back to top

Chained Products also allows chained items to be priced individually. This feature is especially important when you are creating packaged deals for your users and you want prices of chained products to get applied.

  1. Configure simple chained products. For e.g: Here, Shaving Kit is the main product that we are offering in a packaged deal. So, keep the main product price as zero. 
  2. On the product shop page, Shaving Kit will look this with its chained products. The Shaving Kit price will be automatically calculated and shown to the user.
    Its price is calculated by adding up the prices of those chained items which has priced individually option enabled. In this case Shaving Brush, Razor and Blade have priced individually option enabled whereas Shaving Cream is offered for Free.
  3. On the Cart Page the Chained Products will look like this provided the chained products and it’s prices are not hidden on your store.
  4. On Order Complete page…
  5. On Order Admin page…
  6. Inside Order Complete E-mail

Note: This feature is only available from Chained Products version 2.8.0 and for WooCommere > 3.0.


Add products to existing orders ↑ Back to top

Chained products gives you power to add / remove products to all existing and new orders.

Suppose you have good number of customers and you want to give a bonus product to those customer who’ve already purchased a specific product. And you want this product to add to their account automatically without going to each order and add those products manually. Chained Product can easily help you in this.

Currently this feature is only available for downloadable and virtual chained products.

Whenever a new downloadable product is chained / unchained to existing main product, you’ll get an option to update existing order with respect to that chained products

If new product is chained to existing one, then download access of this new downloadable product will be given to every customer who had purchased the main product.

Similarly if a product is removed from existing chained products, then download access of old downloadable product will be revoked from every customer.


Shortcode ↑ Back to top

You can use shortcode [chained_products] to display chained products on product page. You can insert shortcode either in Product Description or in Product Short Description.

You can customize display of chained products using shortcode attributes:

Attributes Values Default Description
price yes / no yes show / hide prices of chained products
quantity yes / no yes show / hide quantities of chained products
style grid / list grid Display chained products in Grid view / List view
css_class any custom class You can add your custom CSS classes here. It’ll be applicable on container which holds chained products. You can add CSS properties to your custom class in your theme

Valid shortcode examples:

  1. [chained_products]
    [chained_products]

  2. [chained_products price=”no”]
    [chained_products price="no"]

  3. [chained_products price=”yes” quantity=”no” style=”grid”]
    [chained_products price="yes" quantity="no" style="grid"]

  4. [chained_products style=”list”]
    [chained_products style="list"]

  5. [chained_products price=”no” quantity=”yes” style=”list”]
    [chained_products price="no" quantity="yes" style="list"]

  6. [chained_products price=”yes” quantity=”no” style=”list”]
    [chained_products quantity="no" style="list"]


Translation ↑ Back to top

It is possible to translate Chained Products in your language. There are various methods to translate a plugin. If those methods are not working, you can try following steps, as these steps are tested:

  1. Check wp-config.php file, whether WP_LANG_DIR is already defined. If not, add following line in your wp-config.php file
    define ('WP_LANG_DIR', '/home/<user>/public_html/<wordpress_directory>/wp-content/languages');
  2. Now go to this path: /home/<user>/public_html/<wordpress_directory>/wp-content/languages
  3. Create a new directory and name it as woocommerce-chained-products
  4. Install and activate a free WordPress plugin – Loco Translate
  5. Navigate to Loco Translate > Manage translations from sidebar admin menu
  6. Locate WooCommerce Chained Products under Plugins
  7. Check if a language file for your language already exists. If it exists, click to edit OR if it doesn’t exist, click New language to add translation for your language
  8. Select your language from dropdown menu and click Start translating
  9. You’ll see 2 column: left containing texts from the plugin. Select one of them and add translated text for this from below. Repeat the steps for other texts also
  10. Once done, Save it using Save button. If sufficient permissions for saving are not there, download PO and MO file
  11. Upload these files to /home/<user>/public_html/<wordpress_directory>/wp-content/languages/woocommerce-chained-products
  12. Make sure these files have proper read permission, otherwise texts will not be translated
  13. You can also place these PO and MO file inside languages directory of the plugin, but it is not recommended, as you’ll loose it when you’ll update the plugin
  14. That’s it. Now Chained Products should display your texts.

Additional Settings ↑ Back to top


Note: This screenshot is from version 2.7.0. This won’t be visible if you’re using the older version.

1. Show / hide chained items from cart, cart widget, checkout and order ↑ Back to top

This option will allow you to show/hide chained item(s) in cart, cart widget, checkout and order received page. This feature will be helpful when your store is selling an assembled item and you’ll have to maintain inventory of parts which are used in that assembled item.
Your customer is only concerned about final assembled item, so you may not want to show them parts used, in cart, cart widget, checkout and order.

Method 1: Changing via settings
From Chained Products version 2.7.0 onwards you can control this option by navigating to WooCommerce > Settings > Products > Chained Products.

Method 2: Changing via Database
Option name: sa_show_chained_items_to_customer
Default: yes

When sa_show_chained_items_to_customer is set to no, chained items will not be visible in cart, cart widget, checkout and order, otherwise it’ll always be shown.

Method 3: Changing via Custom Code
From Chained Products version 2.4 onward, you can use filter sa_cp_show_chained_items to override this option.

2. Show/Hide price of chained items ↑ Back to top

This option will allow you to show/hide price of chained item(s) in cart, cart widget, checkout and order received page. Enabling this option will show chained item(s) price as $30.00, otherwise chained item’s price will not be shown.

Method 1: Changing via settings
From Chained Products version 2.7.0 onwards you can control this option by navigating to WooCommerce > Settings > Products > Chained Products.

Method 2: Changing via Database
Option name: sa_show_chained_item_price
Default: no

When sa_show_chained_item_price is set to yes, chained item’s price will be shown as $30.00, otherwise chained item’s price will not be shown

Note: To modify these values you can add or update a row in options table with option_name as sa_show_chained_item_price and option_value as yes / no

Method 3: Changing via Custom Code
From Chained Products version 2.4 onward, you can use filter sa_cp_show_chained_item_price to override this option.

3. Enable/Disable Housekeeping ↑ Back to top

What is HouseKeeping?
To understand housekeeping consider a scenario wherein you trash a product B and the same product is chained to Product A (the parent product). In this case, the housekeeping functionality will auto remove the chained product B from parent Product A.
Also, when you Restore product B it will be auto chained to parent product A.

Method 1: Changing via Settings
From Chained Products version 2.7.0 onwards you can control this option by navigating to WooCommerce > Settings > Products > Chained Products.

Method 2: Changing via Database
Prior to Chained Products version 2.7.0 this option can be enabled/disabled via database.

Option name: sa_chained_products_housekeeping
Default: yes

Note: It is recommend to keep this option enabled.


Frequently Asked Questions ↑ Back to top

How do I add many downloadable files to a single product? ↑ Back to top

Create many simple downloadable products, associate a downloadable file with each. Now create a new product and “chain” all downloadable products you want to the new product. Also you can refer Configuring Multiple Downloadable Products

What type of product can be bundled together? ↑ Back to top

You can bundle simple products (including downloadables) and product variations.

Products can be chained only to “Simple” or “Variable” products. You can add as many simple / variation products to it as you want.

What type of combinations are possible with this tool? ↑ Back to top

  • You can bundle many simple products with one main simple/variable product
  • You can bundle many variation products with one main simple/variable product
  • You can bundle many simple products and many variation products with one main simple/variable products.

How is the price determined? Where do I enter the special price for the bundle? ↑ Back to top

The price you specify for the main product is what the customer pays. If you specified a special price for the main product, then that’s what people will pay. Prices of chained products does not matter and will be set to zero in the final order.

Is this compatible with WooCommerce Subscriptions? ↑ Back to top

Yes, WooCommerce Subscriptions and Chained Products are compatible. You can only chain simple and variable product to any subscription product type.

Which other plugins are compatible with Chained Products? ↑ Back to top

Currently, WooCommerce Subscriptions, WooCommerce Give Products, WooCommerce Product Bundle, WooCommerce Composite Product and WooCommerce Mix and Match Product are compatible with Chained Products.

When product having chained items are in cart, shipping option not coming? ↑ Back to top

Check weight and/or dimensions of chained child items and chained parent items. Check if it is as per Shipping method’s standard.

Questions and Support ↑ Back to top

Have a question before you buy? Please fill out this pre-sales form.

Already purchased and need some assistance? Get in touch the developer via the Help Desk.

WooCommerce - the most customizable eCommerce platform for building your online business.

Back to the top