WooCommerce is quite flexible in how it allows you to customize your products and product details. However, one feature that is missing is the ability to add additional options (which may or may not add to or subtract from the total price) to your products. A good example of a business that would require extra WooCommerce product options is a pizza take-away shop.
If you’re selling pizzas you would most likely want to allow your customers who order pizzas from your WooCommerce store, the ability to add or remove toppings. You may also want to provide an additional free form text field for delivery instructions.
There are many other products and businesses that require extra WooCommerce product options, and if you fit in to that boat, you’re at the right place. In this guide we’re going to show you exactly how to add extra options to your WooCommerce products.
Step 1: Install an extra WooCommerce product options plugin
As mentioned above, we unfortunately do not have the ability to be able to add extra options to WooCommerce products out of the box. We need to install a plugin to add this functionality.
Here at WP Geeks, we’re in the process of building out an awesome extra product options plugin. You can read more about the progress of this plugin on our blog, but until it’s completed, we recommend that you install the Woo Extra Product Options plugin from the WordPress.org plugin repository.
Once you’ve downloaded and installed the plugin, move on to the next step.
Step 2: Add the extra product options using the settings page
What we need to do now is decide on what extra fields we want to add to our products? You can create as many different fields as you want, it all depends on how you configure your products. Continuing on with the pizza example above, in this guide we’re going to add two extra product options to a pizza product. We’re going to let the customer decide what kind of base they want for their pizza and add an additional text field for any delivery instructions.
We could expand this to include toppings, pizza sizes, add ons etc, but to keep this guide to the point, we’re just going to add the two extra fields as discussed.
Navigate to “Products” on the WP Admin sidebar and click “Extra Product Option. From this page, we are able to add our product options. You should click on “Add field” to add a new option and then specify the parameters for the option.
Here is how I’ve set up the select box for the pizza base choice:
Notice how I’ve set up a conditional rule to add these options to my “Cheese Pizza”. This is an important step as it is how the extra options get added to your products. I’ve done the same for the delivery field as I did for the base selection, except I’ve selected a “Text” field instead of “Select” box.
And lastly, here is what my additional fields that I have created look like.
You can drag and drop your options to order them.
Important note! Make sure you click “Save changes” after adding the fields, otherwise your changes will get lost when clicking away from the page.
Step 3: View the extra options on the product page to make sure it’s working
The last step to complete here is to verify that the product options did indeed get added to your product. Go to the product that you’ve added the extra WooCommerce product options to from the frontend of your website and you’ll immediately notice the extra fields.
If you don’t something wen’t wrong. Refer back to the instructions in Step 2 to make sure you configured the extra options correctly.
Here is what our Pizza example looks like.
Step 4: More advanced settings for extra options
Lastly, what we’ve done above is very basic and does not include anything like price conditionals. You’re very likely going to want to change the price of your product based on the option you’ve selected. To add more advanced features like price conditionals, you will need to purchase the premium plugin. Once unlocked, you’ll have the ability to customize the rules however you need to based on your use case.
We really hope that you found this guide useful! Do let us know if you have any questions or comments down below.