Product variations in WooCommerce allow you to combine multiple similar products into one listing, for example, different sizes or different colours of the same product.
To enable variations, set your product to be a “Variable product” as per the instructions for adding a variable product here. Woocommerce product variations are managed independently for each product and rely on product attributes to create the variation options.
Have a look at the two screenshots below showing an example of product attributes and product variations from Arianrhod Aromatics.
You can see in the Attributes tab that this particular product has a size attribute set with two options, 15ml and Sample. You can also see the “Used for variations” checkbox is selected. If this checkbox is not selected then the attribute will not contribute to product variations.
In the Variations tab, you can see that these two size attributes have been used to define two product variations, enabling customers to make a choice between two physically different versions of the same product.
Setup the product attributes
To create a new product variation, first add the attributes you will need.
Click inside the “Value(s)” box where it says Select terms and a drop down will appear showing you the options available for your chosen attribute. You can begin typing in the box to narrow the list of results down if there are a lot.
Select the one you want from the list and then click inside the box again to select another one.
Repeat as many times as you need to.
Repeat these steps to add multiple variations to the product.
Once you have all your attributes set, you can add them as variations.
Setting the default variation
The default variation is the option that will be pre-selected for a customer when they are browsing your product page. You can choose not to select a default variation, but the caveat is that the Add to Cart button will be greyed out until a variation is selected. By choosing a default, a customer is able to instantly purchase the product if the default option is what they want.
You must create the variations before they will be available to select as a default option.