#1 Independent Seller of WooCommerce Plugins

YITH WooCommerce Product Add-Ons & Extra Options

What the plugin does Add‌‌ ‌paid‌ ‌or‌ ‌free‌ advanced ‌options‌ ‌to‌ ‌your‌ ‌product ‌pages‌ ‌using‌ ‌field‌s like‌ ‌radio‌ ‌buttons,‌ ‌checkboxes,‌ drop-downs,‌ ‌custom‌ ‌text‌ ‌inputs‌, and‌ ‌more.‌
How you can benefit from it:
  • Offer additional services on your product pages (warranty, insurance, special transfer services, customizations, etc.) to increase the order value;
  • Promote products that are either optional or related to the one the users are viewing to encourage them to purchase more items with the same order;
  • Allow users to upload photos, images, or files to request a customized product;
  • Configure your options by using the comprehensive library of elements included in the plugin: text fields, select dropdowns, radio buttons, checkboxes, images, date pickers, upload fields, color swatches, etc.
  • Use images, icons, labels, and color swatches to show the available product variations;
  • Set dependency rules to show different options according to the user's selection (e.g., show an Upload field ONLY IF the user has selected the checkbox "Customize product");
1 year of updates and support
30-day money back guarantee
Buyer Protection If you are not satisfied with our products, you will receive a 100% refund for any reason. Read more about the refund policy >
This plugin is used by 18,415 customers, with a rating of 4.4/5 and a 97% customer satisfaction in support!

YITH WooCommerce Product Add-ons

The ultimate tool to add options and extra services (free or paid) to your products and offer them to your users

WooCommerce allows selling any type of product and lets users choose simple variations, like size and color.

Yet, this is not enough. If you sell your products online, you most likely need more advanced options. For example, if you sell rings or jewelry, you might need to let your customers add a custom text to be engraved in a piece of jewelry or choose carats for a gemstone, the size, the color for gold.

If you sell T-shirts, cups, and other custom items, you certainly need a field to let your customers upload files, like their photos, during the checkout process. Or if you run an e-commerce site for tech products, you might want to offer warranty and assistance services for an extra cost or allow users to select a large number of options like RAM, processor, screen size, weight, etc.

Some options might have a cost higher than others or require a dependency and show only after a specific selection has been made by the user. All these scenarios need a versatile and powerful tool to help you add an unlimited number of options, of any kind, to a product page.

With YITH WooCommerce Product Add-ons & Extra Options, you can create several blocks of options to insert in your products: after creating the block, you can add the options you need by choosing elements through an amazing library (input fields, text areas, select dropdowns, checkboxes, images, labels, radio buttons, upload fields, date pickers, etc.). For each option, you can set an additional cost, which will be added to the standard product price, and, in a few minutes, you’ll be ready to sell complex or customizable products and offer any kind of optional service to your customers.

Create unlimited blocks of options to show on specific products or product categories

Create a block of options for all products in a certain category, another block for a specific product, the third block for another different product, and so on. The plugin allows creating and configuring an unlimited number of blocks, each of them with an unlimited number of options. The key idea behind it is, as usual, flexibility.

Blocks of options

Choose options from library

Populate every block by choosing one or more options among the ones available in the library

Pick the options you want to add to the block from the options library provided. To present your product options, you can use checkboxes, select dropdowns, file upload fields, input fields, color swatches, textual labels or labels with images, date pickers, and much more.

Promote products as additional options

Since version 2.0, you can select a product as an option: this way, on the product detail page, you can suggest one or more products or related services, side options, and push the user to add them all in bulk to the cart in just one click.

Add extra products

Customize options

Customize every option to show it the way you like it

Once the option has been added to the block, you can customize the way it appears on the product page: set which title and/or a description to show; add a tooltip and image to easily identify the option (you can also choose to whether this image will replace the default product image when it is selected by the user); you can also set the option as “required” and decide whether to show it as selected by default on the page.

Set the price (regular and on-sale one) for every option or set a percentage value that will add or detract from the final product price

For every single option you can choose whether it can be selected by the user for free, if it will add an extra cost to the base price (a fixed or percentage surcharge on the product price) or if, on the other hand, selecting it will apply a discount on the product price. Additionally, in the block options, you can choose whether to offer the first options chosen by the user for free (e.g. you sell a pizza and the first three ingredients selected by the user are included in the pizza price, but from the forth one on, every additional topping will come at an extra cost).

Calculate price as fixed or percent

Options in a vertical line or grid

Choose whether to show the options in a vertical line or in a grid

Choose whether to show the options in a vertical layout, so one below the other, or show them in a horizontal grid. In the latter case, you can set the number of columns into which the options will be divided.

Create dependencies rules (conditional logic) to show or hide the options based on the user’s selection

The dependency rules make the plugin even more powerful and show or hide specific options based on what the user selects. For example, you can show the express shipping option only to users who select the region where this delivery option is available; or show the file upload field only to users who have checked the option to customize the product.

Conditional logic

Single or multiple selection

Choose whether the user can only pick one of the options available or select multiple ones

For every block of options, you can choose whether the user can make multiple selections (e.g., select more colors from the color swatches) or if only one of the available options can be chosen.

Set the options as mandatory and define the minimum and maximum number of options that the user can select and add to the cart

You can set specific quantity rules for the number of options the user has to choose. This is both possible for a minimum number of selected options and the maximum number of options. For example, customizing a garden shed requires at least two options but no more than six before the product is added to the cart.

Range of selectable options

Option visibility

Choose whether the options will be visible to all users, only to registered ones, or to specific user roles only

For every block of options, you can set some visibility rules and decide whether the options will be visible to all users (also guests) or if they will be available only for registered users or specific user roles only.

Choose where on the product page the options will be displayed

Choose where on the page the block with options will show up (before or after the “Add to cart” button), and customize the “Select options” button in WooCommerce loops (i.e., the product shortcodes, the Shop page, the category pages, and so on.)

Options position

Hide Cart button

Hide the “Add to cart” button until the user selects all options

Enhance the options by hiding the “Add to cart” button until the user has selected every required option. Only after the user has made a selection for all the available options, the button will show up, and the user is able to add the product to the cart.

Choose whether to show the total price, including options on the product page

Do you want to offer transparency about product prices and prevent unwanted higher prices in the cart for your users? You can, by simply enabling the option that allows showing the total product price inclusive of all the options selected by the user on the product page.

Total price

Permissions for file upload

Configure the permissions for file upload fields (accepted file formats, maximum file size, etc.) and enable the option to get the uploaded files as order attachments

If you choose the Upload fields to let your user upload files to the product (like documents, images, graphics, etc.), you can take advantage of the built-in options to set permissions about which file formats are allowed and the maximum size. Also, for better and flawless management, enable the option to send the uploaded files as attachments of the Order confirmation emails and choose the folder where all the files will be automatically stored.

Choose whether to show the selected option in the Cart and in the order-related emails

Choose whether to show only the basic product information or also all the options selected by the user. Similarly, you can show or hide the selected options on all the order-related emails.

Show selected options

Customize colors

Customize the style and colors of the options block

In the plugin you will find many options to customize the option blocks. You can use either the theme style (for checkboxes, radio buttons, select dropdowns etc) or the plugin style; you can edit colors (block background color, highlight color for the selected option etc), show tooltips and set their color and position, set whether to show the options in a toggle button (open or closed by default), and many more styling options.

Free Vs Premium

Options blocks creation
Free Premium
Create unlimited blocks of options
Add unlimited options inside each block
Show the block in all products / just specific products / specific product categories
Hide the options from specific products
Show the options to all users / only logged-in users / only specific user roles new
Show the options to only guest users new
Add HTML elements in the options block: Heading, Text, and Separator (simple border; double, dotted or dashed border; empty space) new
Add radio type options
Add input text options (with “limit input characters” support)
Add textarea options (with “limit input characters” support)
Add color swatches (with color selector and images support) new hot
Add number/quantity options
Add select type options
Add label or images type options
Add checkbox type options (square or rounded style)
Add calendar date picker type options (with advanced settings to set a default date, a start and end year, etc.)
Add time picker to calendar option (with advanced options to set a default time, enable or disable specific time slots, etc.) new hot
Add file uploader type options with drag and drop support new
Add “product” options to show linked products on the main product page new hot
Set specific conditions to show or hide a block of options (e.g. show the option B only if the user sets option A to “yes”) hot
Set the option as required or not
Set the option as selected by default or not
Options blocks display
Free Premium
Choose where to display the options on the product page (before or after the “Add to cart” button)
Enter an optional title for each block of options
Enter a label and a description for each option
Show an optional tooltip for each option
Upload an image to clarify what the option is about
Choose whether to replace the main product image when the option is selected
Choose the image position (above or under the label, on the left or right) new
Choose whether to show or not the options set in a toggle collapse section
Hide the option price
Hide the option label and description
Set how many options to show in each row new
Enable the grid layout to adjust the options in a grid based on the page width new hot
Options pricing
Free Premium
Set if the option is free (product price doesn’t change when the option is selected)
Set if the option has a fixed or % cost that will increase the product price
Set if the option discounts the product price
Set whether to multiply the product price by the length of the text inserted by the user (only for Text and Textarea type add-ons)
Set whether to multiply the product price by the quantity the user selects for a certain option (only for “number” type add-ons)
Set the first “X” selected options as FREE (e.g. the first 3 pizza toppings are free and included in the pizza price, but from the 4th topping the user will be charged an extra cost) hot
Replace or not the default product price with the updated price when the user selects some paid options
Show or not an options price total box on the product page
Options customization
Free Premium
Settings for the “upload file” option: text to show, enable the “upload” button or the textual link, set the allowed file formats and the maximum file size
Set the options block titles heading (h2, h3, h4, etc.) new
Set the options block background new
Set the options block padding new
Use the theme forms style or the custom plugin style new
Customize the colors of borders, texts, and accent color new
Set the checkbox style (square or rounded) new
Set the color swatches size and style (square or rounded) new
Set the image position for the “label/image” options new
Force label images to the same height new
Set the default label and description position for the options
Set the tooltip colors and position (top or bottom)
Choose whether to show the options in a toggle collapse section or not
Advanced settings
Free Premium
For each block of options, set whether the user can select only ONE of the options available or select MULTIPLE options
For each block of options choose if the user has to select a minimum, maximum or exact number of options to proceed with the purchase
Hide the Add to cart buttons until the required options are selected
Show or not the selected options in the cart
Show the image replacement in the cart hot
Hide the selected options in the emails related to the order

Plugin integrations

All the products in our YITH catalog are developed on the same shared framework. This grants full compatibility among all our plugins and allows combining them together to get even more powerful results and more complete solutions.

We do our best to also include compatibility with the most popular WordPress and WooCommerce plugins available on the market.

You can use this plugin with*:

WooCommerce Product Bundles

Product Bundles allows you to group existing simple, variable, and subscription products and sell them together.
The addons will be added to the bundled product (not to the components), they will be shown before or after the add to cart button.

YITH Composite Products for WooCommerce

Using YITH Composite Products for WooCommerce you can create products made of several components, allowing users to be free to choose the components they are interested in straight from the product page.

The integration with YITH WooCommerce Product Add-Ons allows you to add new add-ons to all "composite" products you can offer users to purchase.

YITH WooCommerce Catalog Mode

With the use of YITH WooCommerce Catalog Mode, you can show or hide the price and/or “Add to cart” button for one or more products of your shop. If hidden, you can provide a form through which users can send possible requests.

The integration between these two plugins allows hiding price and Add to cart button also on products with add-ons.

YITH WooCommerce Deposits and Down Payments

YITH WooCommerce Deposits and Down Payments is a plugin designed to offer users the opportunity to leave a deposit for a specific order, which they will then finish paying at a later time.

The integration with YITH WooCommerce Deposits and Down Payments allows you to enable a deposit service for products with one or more add-ons.
A deposit will be placed for the final price.

YITH WooCommerce Multi Vendor

YITH WooCommerce Multi Vendor allows you to turn your store into a multistore where vendors manage their own product and earn a commission on every sale.
The integration between the two plugins allows, in a multistore shop, vendors to create advanced options groups for their products.

Each vendor can create global, category or single product options groups.
All options groups created by vendors won’t show on products that don’t belong to them.

YITH WooCommerce One-Click Checkout

YITH WooCommerce One-Click Checkout allows users to skip the checkout process once the billing info has been added.

The integration between these two plugins allows using the one-click checkout feature also on products with advanced options.

YITH WooCommerce Product Bundles

YITH WooCommerce Product Bundles is an extension conceived to create bundles with the combination of some products of your shop. You can assign an ad-hoc price to the bundle or a price given by the sum of the single elements contained in the bundle itself.

Combining YITH WooCommerce Product Bundles and YITH WooCommerce Product Add-Ons allows you to add custom options to all "bundle" products.

YITH WooCommerce Quick View

YITH WooCommerce Quick View allows the users to get a quick view of the product for which they are interested. The product details will be shown in a popup, so they don't need to leave the current page.

Using it in combination with YITH WooCommerce Product Add-ons, your customers can select their options in the popup screen, without leaving the current page.

YITH WooCommerce Request a Quote

Thanks to YITH WooCommerce Request a Quote you can offer users the chance to ask for a quote for one or more products in your shop.
Once the request is received, you can process your offer and send it via email. Users can accept the offer and will be automatically redirected to the cart where they will find the exact agreed price.

Combining YITH WooCommerce Request a Quote and YITH WooCommerce Product Add-Ons allows you to add to the quote request any possible add-on the product shows.
It will then be possible to receive complete quote requests that would include products you are offering additional options for.

YITH WooCommerce Role Based Prices

YITH WooCommerce Role Based Prices lets you change the price of the products in your store dynamically, increasing or decreasing it based on the role of a certain logged-in user.

Using this plugin in combination with YITH WooCommerce Product Add-ons, the product price will change according to the role in your shop, the add-on prices will remain the same.

YITH WooCommerce Subscription

YITH WooCommerce Subscription is a plugin designed to enable recurring payments for the services offered in your shop.

This plugin perfectly integrates with YITH WooCommerce Subscription and this will allow your users to purchase a subscription for several services, meaning, for instance, a "subscription" product with a custom set of selected add-ons.

* All the plugins listed in this section are not included in YITH WooCommerce Product Add-Ons & Extra Options. In order to take advantage of a specific integration, you need to purchase and activate the premium version of the related plugin.


Plugin panel

Examples of products with custom options

Reviews (87)

Customer reviews

Rated 4.43 out of 5 stars
87 reviews

Are you a customer? Submit your review

submit review
  1. 5 out of 5

    Emilie Brousse - verified owner

    I love this plugin and the new update is even better! Besides, it really changed the way I think about my products, strongly recommend!

  2. 1 out of 5

    daniel-5079 - verified owner

    It can't get any worse then thisAfter being in contact for more than a month and for a total of over 50 emails going back and forward we gave up contacting support. We were to far in our project to start over again so we had no choice to pay an external developer to solve the last remaining issues. This cost us over $500 on top of the plugins.

    The issues were too much to all sum up here. What we can say about the plugin is that they launched version 2.0 with half working function and still some of the functions are incomplete or just not logical.

    Support is like communicating with someone that can not think nor test for himself. giving the reply "everything should work now" and when testing we had to conclude after less than a minute that this was not the case. This pushed the next reply of support again 4 extra days and this kept on for over a month.

    The most important issue we noticed is that our add to cart function was not working anymore after the update to 2.0. Support refused to fix this and pointed us to the door.

    We will try to avoid Yith plugins as much as possible in the future because of this experience that almost drove us crazy ;-)

    • Ausilia

      Hello Daniel,
      we are very sorry to see you're experiencing such a serious issue with the plugin and our support. We have checked all your ticket history to see where it went wrong. All the issues that you found have been fixed, except for the Add-to-cart one, that seems to be caused by the theme you are using and not related to our plugin. Switching to a WordPress default theme fixes the issue.
      The 2.0 update we have recently released is a massive one, we worked on it for over 6 months, and it does not sound fair that you blame us so harshly for issues that in the end do not even depend on our plugin.
      Let me also clarify that we did not point you to the door, we simply suggested you to contact the theme developers to report the add-to-cart issue and find a solution for it. We want you to know that we never send our customers away, our door is always open. 😊

  3. 4 out of 5

    Michael O. - verified owner

    Got it for my subs shop, I'm still adjusting since customers used to call to order and sometimes I forget to check my email for new orders but it's pretty cool, my customers liked the change and I added a photo for every ingredient

  4. 5 out of 5

    Heriberto Rodríguez Ascanio - verified owner

    Buen trabajoEs magnifico y reúne todas las opciones que hemos estado buscando en un solo complemento, tenemos más libertad para gestionar las opciones, colores, cuántas son gratuitas y cuánto se paga por las demás, etc. como cualquier producto personalizable. No podría estar más satisfecho con los resultados

  5. 5 out of 5

    Guglielmo Marino - verified owner

    Excellent productThis plugin is a really big addition to my products. It took me a little bit to understand the flow, how to configure and update the add-ons, as it has a certain degree of complexity, but I must admit that it's super useful and very flexible. Thanks a lot for this wonderful tool.


Here you can find some frequently asked questions about this plugin. If you can't find a reply to your doubts, ask a question: we will reply in a very short time
  • All
  • Shortcode
  • Stock
  • General
  • SKU

Does it work with page builders?

Yes, as long as you add the WooCommerce product form, the options will always be visible.

Can I manage the stock of options?

Only for the "Product" options set (available since v. 2.0): you can let your users select existing products as custom options and the stock will be automatically updated.

Can you limit the number of characters a customer enters in the text field?

Yes you can, you can find the max field available in each add-on.

Is it possible to add the SKU to the add-on?

Yes, since version 2.1.0, when you show an existing product as add-on, you will also be able to show the SKU.

Can't find the answer?

Send us your question and we will reply very quick!

Send your question

Technical Info

  • Version: 2.3.0
  • Released: 2021-11-09
  • Minimum PHP version: 7.0
  • Requires: WordPress 5.4 or higher and WooCommerce 5.3.x or higher
  • Compatible up to: WordPress 5.8.x and WooCommerce 5.9.x
  • WPML compatible: YES
  • Translation ready: YES
  • Languages 100% guaranteed by YITH: Dutch, English, Italian, Spanish, Greek
  • Languages provided by users: French (34%), German (46%), Portuguese (31%)
  • Support for: YITH Proteo theme. All YITH plugins except for: YITH WooCommerce Dynamic Pricing and Discounts
  • Supported third party themes: Divi, Flatsome, Unero theme
  • Supported third party plugins: Elementor, Woo Layout Injector
  • GDPR Compliant: Not applicable
1 year of updates and support
30-day money back guarantee
Buyer Protection If you are not satisfied with our products, you will receive a 100% refund for any reason. Read more about the refund policy >

We don't offer one-time support, we care for you day-by-day.

Meet the team