Documentation

Product Options & Add-ons

Option sets, field types, prices, conditional fields, file uploads and orders.

Product Options & Add-ons for WooCommerceFrom $89 / year · 14-day money-back guaranteeView plugin →

Product Options & Add-ons adds extra fields and paid options to product pages: engraving, gift wrapping, sizes, finishes, warranties or a photo to print. Options are grouped in option sets, and the total updates on the add to cart button as customers choose.

Requirements

  • WordPress 6.8 or newer
  • WooCommerce 10.0 or newer
  • PHP 7.4 or newer
  • Works with simple and variable products, classic and block themes, the Cart and Checkout blocks, and High-Performance Order Storage.

Installation

  1. Download product-options-addons.zip from My account > Downloads.
  2. In WordPress, go to Plugins > Add New Plugin > Upload Plugin, choose the zip file and click Install Now.
  3. Click Activate. Option sets and settings are under WooCommerce > Settings > Product options.

Quick start: gift wrapping on every product

  1. Go to WooCommerce > Settings > Product options. With no sets yet, you see examples.
  2. Click Gift wrapping. A set opens with a gift wrap checkbox and a message field that shows when it is ticked.
  3. Set the price and choose the products it covers, then click Save changes.
  4. Open a product: the options show above the add to cart button, with the total on the button.
Examples to start from.
Examples to start from.

Option sets

A set holds the fields that belong together, and covers all products, categories, tags or brands, or single products. A product shows every set that covers it, in the order of the list.

Option sets, each with a summary.
Option sets, each with a summary.
An open option set.
An open option set.

Fields

FieldUse
CheckboxOne option, such as “Add gift wrapping”.
Checkboxes, radio buttons, buttons, dropdownA choice between options, each with its own price.
Short text, long textEngraving text or a message, with a character limit.
Number, dateA number entered, or a date such as a delivery day.
File uploadA photo, logo or artwork, with the file types and largest size you allow.
HeadingSplits a long form into parts.

Each field can be required, and can show only when a field above it is ticked, filled in, empty or set to a choice. For example, show “Engraving text” only after “Add engraving” is ticked.

Prices

PriceExample
Per itemGift wrapping at $4.00 for each item.
OnceA $15.00 setup fee for the order line, whatever the quantity.
Percentage10% of the product price for a larger size.
Per character, per number$0.50 per engraved character, or a price for each unit entered.

Option prices are added after role prices and discounts from our other plugins, and are taxed like the product.

What customers see

The price of each option shows next to it, with a summary of the product price, the options and the total under them. The add to cart button shows the total for the chosen quantity, updated as they choose.

Options on a product page, with the summary and the total on the button.
Options on a product page, with the summary and the total on the button.

The options show under each item in the cart, the Cart and Checkout blocks, the mini cart, orders and emails. In shop pages and blocks, products with required options show Select options, linking to the product page.

Options in the cart.
Options in the cart.

Orders and uploaded files

The options are saved under each order item. Uploaded files are kept in a private folder and linked under the item, for shop managers only. Files from carts that were never ordered are deleted after 7 days. “Order again” puts the same options back in the cart.

Options and an uploaded file on an order.
Options and an uploaded file on an order.

The Options tab on a product

Each product has an Options tab listing the sets it shows, with a link that starts a set for that product. Tick Own sets only to leave out sets for categories and all products.

The Options tab on a product.
The Options tab on a product.

Settings

SettingWhat it does
Option pricesShow the price next to each option, such as “Gift box (+$5.00)”.
Price summaryShow the product price, the options and the total under the options.
Total on the buttonShow the total for the chosen quantity and options on the add to cart button.
Required optionsShow “Select options” in shop pages and blocks for products with options customers must choose.
Remove dataDeletes all option sets, settings and uploaded files when the plugin is deleted. Options saved on orders stay.

For developers

HookUse
poad_sets, poad_product_fieldsAll option sets, and the fields a product shows.
poad_product_typesThe product types that can have options.
poad_read_optionsThe options read from an add to cart request.
poad_cart_upload_daysDays before files from carts that were never ordered are deleted.
poad_before_options, poad_after_optionsRun around the options on the product page.
poad_example_sets, poad_admin_capabilityThe examples, and the capability needed to change sets.

Copy public/templates/options.php or field.php to yourtheme/product-options-addons/ to change how fields look. Keep the data attributes and input names.

Frequently asked questions

Can a product show options from several sets?

Yes. A product shows every set that covers it, in the order of the list. Tick “Own sets only” on the product to show only the sets that list it.

Does it work with the variation grid?

Yes. With Quick Order Form & Variation Grid, options show under the grid and apply to every variation added from it. Products with a file upload field keep the dropdowns.

Changelog

1.4.2 · September 15, 2026

Maintenance

  • Fixed a settings notice remaining visible after the configuration had been saved.
  • Improved validation of saved settings during plugin updates.

1.4.0 · September 10, 2026

Compatibility update

  • Updated compatibility checks for current WooCommerce releases.
  • Improved translated notices and settings labels.

1.3.2 · April 14, 2026

Hotfix

  • Fixed an uploaded filename being repeated in the order item details.

1.3.0 · April 1, 2026

Feature update

  • Added file upload fields and improved the display of chosen filenames.
  • Added clearer file type and size validation messages.
  • Compatibility: updated integration checks for WooCommerce 10.x.

1.2.2 · November 29, 2025

Hotfix

  • Fixed a hidden required option preventing a product from being added to the cart.

1.2.0 · November 17, 2025

Feature update

  • Added conditional visibility between product option fields.
  • Improved validation when a field becomes hidden.

1.1.5 · July 9, 2025

Hotfix

  • Fixed an excluded product still receiving a category-level option set.

1.1.0 · July 1, 2025

Feature update

  • Added reusable option sets for categories and individual products.
  • Added an option to exclude selected products from a shared set.

1.0.2 · February 26, 2025

Hotfix

  • Fixed selected option values being lost after a required-field validation error.

1.0.0 · February 17, 2025

Initial release

  • Initial release.
  • Add text, choice and checkbox options to WooCommerce product pages.