Chocomize-esque Tea Site

Where you pick your “base” teas, then flavors like spices or herbs. So it would be a multi-step process where at each step you could select one or more of each type of ingredient, ie 3 different bases or 5 different flavors.

The pricing would be flat pricing for an entire bag, not based on each ingredient. It looks like using WooCommerce, if an ingredient = a product, it must have a price. So I don’t even think it’ll work. Unless there’s a plugin available that can do this?

I don’t think you need an add-on or an extension to do what you describe.

As I understand it, your product comes in 3 x 5 = 15 variations.

WooCommerce has different product types. If you use the simple product type then you would need to setup 15 similar products, which is not very good.

WooCommerce also has a variable product type. In your case, the “base” and “flavors” are called attributes of the product. When the attributes have been setup, the editor can setup the variations. Variations can be setup manually, or a “Link all variations” button creates all the possible variations. Each variations can have a different price or image, or not, as you require. The user experience is that they select a bag of tea and then they have 2 dropdowns to customise it.

The “Link all variations” button does up to 50 variations. Beyond that number it gets to be harder work, and in my view a bit unwieldy.

Thanks for your reply. The 3 x 5 was just an example to keep it simple. There’s really 5 different categories of ingredients, and each category could have 10+ ingredients in it. And a customer could choose multiple ingredients per category. So the unique variations is a pretty high number.

The reason we can’t setup each ingredient as a product, is because we’d need a Price for each ingredient, and the pricing works as a flat price for each bag (1/2 lb or 1 lb).

Variation drop downs also don’t work because they need to be able to easily select multiple selections from a single drop-down, which is just cumbersome. Checkboxes or something with Ajax would make more sense.