WooCommerce Product Dependencies

Description

Looking for a way to restrict product access in WooCommerce? Don’t want to set up a full-fledged memberships site?

This tiny plugin allows you to restrict access to any WooCommerce product, depending on the ownership or purchase of other, required products.

Features:

  • Conditional product access based on the ownership and/or purchase of other required products.
  • Support for “ownership”, “purchase” and “ownership/purchase” dependency types.

Developers can checkout and contribute to the source code on the plugin’s GitHub Repository.

Important: Requires WooCommerce 2.2+. WooCommerce 3.0+ or higher recommended.

Like this plugin? You’ll love our official WooCommerce Extensions:

Documentation

Dependencies are evaluated when customers attempt to add a product to their cart. If validation fails, the product cannot be added to the cart and a notice is displayed. In order to evaluate “Ownership”-type dependencies, customers are prompted to log in.

Creating Dependencies

To add dependencies to a product:

  • Go to the Product Data > Dependencies tab.
  • Use the Product Dependencies field to search for and add some products and/or variations.
  • Choose a Dependency Type.
  • Update to save your changes.

The “Ownership” dependency type is evaluated by checking if the customer has purchased a required product in a previous order. The “Purchase” dependency type requires the customer to have a required product in the cart in order to purchase the dependent one.

Ownership vs Purchase

The plugin allows you to select between 3 different dependency types:

  • Ownership: Access is granted only to customers that already own any of the products added to the Product Dependencies field.
  • Purchase: The product can be purchased only in combination with any of the items added to the Product Dependencies field. Ownership is not taken into account.
  • Either: Access is granted with ownership or purchase of any item added to the Product Dependencies field.

Screenshots

  • Product dependencies can be created from the Dependencies tab, found under Product Data, and adding products/variations to the Product Dependencies field.
  • If the ownership and/or purchase conditions are not met, products with dependencies cannot be added to the cart and a notification is displayed.

Installation

  1. Download the plugin.
  2. Go to your WordPress Dashboard and then click Plugins > Add New.
  3. Click Upload Plugin at the top.
  4. Click Choose File and select the .zip file you downloaded in Step 1.
  5. Click Install Now and Activate the plugin.

Reviews

October 7, 2022
Big thanks for creating this slim but highly effective plugin. Works out of the box and very intuitive. The only test case I still have to setup is to see if it’s possible to setup a dependency to 2 other products where only one of the two has to be bought before. When this last test case is not working (is a rare case anyway) then I’m totally happy with the plugin!! Btw – I’m running a multisite setup WP 6.0.2 with WC 6.9.4 at the moment.
March 16, 2022
This is a great plugin! It’s so simple to use and it does exactly what it promises! Thank you guys!
January 13, 2021 1 reply
Excellent, simple little plugin. Does what it says it will do while seamlessly integrating into the backend. Thanks!!
November 9, 2020
WooCommerce Product Dependencies is a well-built plugin that does one thing really well. It allows you to restrict the purchasing of a product unless certain other products have been purchased previously, or you have certain other products in your cart (and purchase them alongside the main product). The UI fits right into the WooCommerce admin design. Super-simple options. Very clear how to use it. Great documentation on the WordPress plugin page. And Jason provided fast & thorough support when I reached out with a question. I’d highly recommend this plugin for anyone looking to set up WooCommerce product dependencies.
Read all 16 reviews

Contributors & Developers

“WooCommerce Product Dependencies” is open source software. The following people have contributed to this plugin.

Contributors

“WooCommerce Product Dependencies” has been translated into 3 locales. Thank you to the translators for their contributions.

Translate “WooCommerce Product Dependencies” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.0.0

  • Tweak – Updated author links.

2.0.0

  • Important – New: PHP 7.4+ is now required.
  • Important – New: WooCommerce 8.2+ is now required.
  • Important – New: WordPress 6.2+ is now required.

1.2.8

  • Feature – Declared compatibility with the new High-Performance Order Tables.

1.2.7

  • Fix – Prevent products from satisfying their own dependencies.

1.2.6

  • Tweak – Declared support for WooCommerce 5.0.

1.2.5

  • Tweak – Declared support for WooCommerce 4.2.

1.2.4

  • Tweak – Declared support for WC 4.1 and WP 5.4.

1.2.3

  • Tweak – Updated plugin headers to declare support for WC 3.9 and WP 5.3.

1.2.2

  • Fix – Remove esc_html when rendering custom notices.

1.2.1

  • Fix – Products with “Purchase”-type category dependencies cannot be added to the cart although a variation of a product that belongs to the required category has been added to the cart.

1.2.0

  • Feature – Introduced category-based dependencies.
  • Feature – Added custom dependency notices.
  • Feature – Added AND/OR dependency relationship. Can be activated for specific products using the ‘wc_pd_dependency_relationship’ filter.
  • Tweak – Tweaked default notices.

1.1.3

  • Tweak – Updated description.
  • Tweak – Added WooCommerce version headers.

1.1.2

  • Fix – Variable product dependencies not validated correctly in the cart.

1.1.1

  • Fix – Dependencies not working under WC < 3.0 after last update. Fixed!

1.1.0

  • Refactored and cleaned up plugin.
  • Fix – Added support for WooCommerce 3.0.
  • Tweak – Add links to dependent products in notices.

1.0.7

  • Fix – Stray “or” in dependent products list when only one dependency is present.
  • Localization – Added Brazilian Portuguese translation.

1.0.6

  • Fix – PHP array_values warning.

1.0.5

  • Fix – WC 2.3 support.

1.0.4

  • Localization – Added Brazilian translation (robertopc)

1.0.3

  • Fix – Saving bug

1.0.2

  • Fix – WC detection fix

1.0.1

  • Tweak – Styling support for WooCommerce v2 write-panels

1.0

  • Initial release