Request for feedback: Simplifying WooCommerce products – A shift from types to traits

As part of our work in improving the product editor experience, we have been exploring merging simple and variable products into a unified template. This initiative inadvertently highlighted significant challenges within the current product types system, leading to a debate on whether it’s feasible to replace product types with a more versatile trait system.

Join the GitHub Discussion and share your perspective on evolving product types to a more versatile trait system

The Core Issue

The attempt to streamline the product creation process revealed the limitations of the current product types system. Specifically, the inability to seamlessly integrate multiple product types within a single template led to conflicts and complications, especially when extensions introduce their own templates. This situation underscores the inflexibility of product types, which are designed to be mutually exclusive, preventing a product from belonging to more than one type.

The Proposal: Embracing Product Traits

To address these issues, the proposal suggests shifting focus from product types to product traits. Traits offer a more flexible framework, allowing functionalities to be extended across various product types without the rigid exclusivity imposed by product types.

Regardless of the approach that is decided, we aim to support backwards compatibility

Join the conversation

The discussion is ongoing, and input from the community is crucial to shape the future direction. Whether you’re a developer or simply interested in WooCommerce’s evolution, your insights matter. Join the ongoing discussion on GitHub to voice your thoughts, propose improvements, or share your experiences with product types and traits. Let’s collaborate to build a platform that meets everyone’s needs.

GitHub Discussions:

  1. Discussion #44814: A general discussion about the deprecation of product types in favor of a more modular and trait-like approach.
  2. Discussion #45724: A more targeted discussion around specific implementation options. It provides concrete examples within the context of the overall discussion.


Leave a Reply

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