Title: Pickset – Product Options &amp; Product Addons for WooCommerce
Author: Md. Kamrul Hasan
Published: <strong>September 15, 2026</strong>
Last modified: September 15, 2026

---

Search plugins

![](https://ps.w.org/pickset-product-options/assets/banner-772x250.png?rev=3696234)

![](https://ps.w.org/pickset-product-options/assets/icon-256x256.gif?rev=3696234)

# Pickset – Product Options & Product Addons for WooCommerce

 By [Md. Kamrul Hasan](https://profiles.wordpress.org/hasandev/)

[Download](https://downloads.wordpress.org/plugin/pickset-product-options.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/pickset-product-options/#description)
 * [Reviews](https://wordpress.org/plugins/pickset-product-options/#reviews)
 *  [Installation](https://wordpress.org/plugins/pickset-product-options/#installation)
 * [Development](https://wordpress.org/plugins/pickset-product-options/#developers)

 [Support](https://wordpress.org/support/plugin/pickset-product-options/)

## Description

**Pickset Product Options** lets you add extra product options, product addons and
custom fields to any WooCommerce product. Build reusable option sets with a visual
drag-and-drop builder, assign them to the products that need them, and let customers
personalise what they buy while the price updates live.

Swatches, file uploads, date and time pickers, formula-based pricing, conditional
logic and linked add-on products are all included. Every choice flows through to
the cart, checkout and order, so you and your customers always see exactly what 
was ordered.

**Pickset Product Options is 100% free.** There is no paid version, no license key,
no locked features and no upsell notices. Every feature described on this page is
available the moment you activate the plugin.

#### Who is it for?

WooCommerce variations are great for a handful of fixed choices, but they cannot
collect a customer’s name for engraving, a design file for printing, or a delivery
date. Pickset Product Options fills that gap. It is a good fit for:

 * **Print on demand and custom apparel:** let shoppers upload artwork, pick a print
   position and add a name to a t-shirt, mug or poster.
 * **Personalised gifts:** collect engraving text, gift messages and wrapping choices,
   and charge per character or per word.
 * **Food and restaurant ordering:** build a pizza or meal configurator with toppings,
   sizes and extras that each add to the price.
 * **Made-to-measure products:** calculate the price of curtains, signs or fabric
   from customer-entered dimensions using a formula.
 * **Services and appointments:** ask for a preferred date and time, block unavailable
   days, and gather contact details.
 * **Upsells and cross-sells:** offer related products, such as a case with a phone
   or batteries with a toy, as add-ons that join the cart as their own line items.

#### Key features

 * **Visual option set builder:** drag and drop fields onto a live canvas, then 
   edit every setting in a side panel with an instant preview.
 * **30 custom product field types:** text inputs, choices, swatches, uploads, pickers,
   formulas and layout elements.
 * **Dynamic pricing:** fixed, percentage, per unit, per character, per word and
   formula-based prices, with a separate regular and sale price for every choice.
 * **Conditional logic:** show or hide any field based on other answers, matching
   all or any of your rules.
 * **Flexible assignment:** show an option set on all products, specific products,
   product categories, tags or brands, and exclude individual products.
 * **Full WooCommerce integration:** selections are validated, priced, and saved
   to the cart, checkout and order.
 * **Variable product support:** option prices follow the selected variation automatically.
 * **Global styles:** match your theme with eight ready-made color presets.
 * **Built-in analytics:** see impressions, clicks, add-to-cart rate, completed 
   sales and revenue for each option set.
 * **Multi-currency compatible:** works with 14 popular WooCommerce currency switchers.
 * **Modern and compatible:** supports High-Performance Order Storage (HPOS) and
   the WooCommerce Cart and Checkout blocks.

#### 30 custom product field types

**Input fields**

 * **Text** and **Textarea:** collect names, engraving text, notes and instructions,
   with minimum and maximum length.
 * **Email**, **URL** and **Phone:** validated contact fields. The phone field offers
   a country flag, dial code and a default country.
 * **Number:** accept quantities, measurements or any numeric value.
 * **Date**, **Time** and **Date & Time:** choose from six date formats and 12 or
   24-hour time, set the earliest and latest selectable values, and block specific
   dates, weekdays or days of the month.
 * **File Upload:** drag-and-drop uploads with your own allowed file types, maximum
   file size, minimum and maximum number of files, and custom messages.

**Choice fields**

 * **Checkboxes**, **Radio Buttons**, **Dropdown**, **Toggle** and **Button Group:**
   classic choice fields, each with its own price.
 * **Color Swatch** and **Image Swatch:** visual choices. Image swatches can switch
   the main product image when selected.
 * **Range Slider:** let customers pick a value within a range.
 * **Color Picker:** accept any custom color.
 * **Font Picker:** let customers choose a font, including your own uploaded web
   fonts.
 * **Linked Products:** add other products, or specific variations, as optional 
   add-ons with their own quantity.

Choice fields support per-option quantities, minimum and maximum selections, and
multiple selections.

**Advanced fields**

 * **Formula:** calculate a price from other field values with arithmetic and functions
   such as `min`, `max`, `round`, `ceil`, `floor`, `abs`, `pow` and `if`.
 * **Advanced Formula:** build more complex pricing rules across several fields.

**Layout fields**

 * **Heading**, **HTML**, **Divider** and **Spacer:** structure the form and add
   helpful content.
 * **Section:** group fields into a section or a collapsible accordion that starts
   open or closed.
 * **Popup:** add a button that opens a popup, such as a size guide, built with 
   text, images, links and tables.
 * **Shortcode:** place the output of any shortcode inside your product options.

#### Dynamic pricing for product addons

Every choice can change the final product price, and customers see the updated total
before they add to cart.

 * **Fixed:** add a set amount.
 * **Percentage:** add a percentage of the product price, following the selected
   variation.
 * **Per unit:** multiply by the chosen quantity.
 * **Per character** and **per character (no spaces):** ideal for engraving and 
   embroidery.
 * **Per word:** ideal for printed messages.
 * **Formula:** calculate the price from any combination of field values.

Each choice has both a regular and a sale price. Prices respect your WooCommerce
tax settings, and the price is always recalculated on the server, so the amount 
charged cannot be changed from the browser.

You decide what shoppers see on the product page: show or hide an “options price”
line and a “total price” line, each with its own label.

#### Conditional logic

Keep product pages short and relevant. Show a field only when it matters, for example
a “Gift message” box that appears after the shopper ticks “This is a gift”. Rules
support is, is not, contains, does not contain, starts with, is empty, is not empty,
is checked, greater than, less than and between, and you can require all rules or
any rule to match.

#### Assign options to the right products

Create an option set once and reuse it across your catalog. Show it on:

 * all products in your store
 * specific products
 * one or more product categories
 * product tags
 * product brands

Exclude individual products from any assignment. On the product edit screen, a **
Product Options** tab lists the option sets that apply to that product.

#### Seamless WooCommerce cart, checkout and orders

 * Required fields are validated before a product can be added to the cart.
 * Selected options appear in the cart, mini cart, checkout and order details.
 * Linked products are added to the cart as their own line items.
 * Choose whether options are shown or hidden on the cart and checkout pages.
 * Optionally replace “Add to cart” on shop and category pages with a “Select options”
   button, so customers configure the product before buying.

#### File uploads with automatic cleanup

Customer uploads are stored in their own folder and moved along as each order progresses.
You choose how long files are kept at each stage (temporary uploads, after the order
is placed, and after the order is completed), and a scheduled task removes expired
files automatically, so your server does not fill up with abandoned uploads.

#### Built-in analytics

Find out which option sets help you sell. The analytics dashboard shows impressions,
clicks, click-through rate, add-to-cart rate, completed sales, checkout rate, revenue
and overall conversion rate, with a daily trend chart. All data is stored in your
own database.

#### Multi-currency compatible

Option prices are converted correctly when your store uses a currency switcher. 
Pickset Product Options is compatible with 14 popular solutions, including WooPayments
multi-currency, WPML WooCommerce Multilingual & Multicurrency, CURCY, YayCurrency,
FOX Currency Switcher (WOOCS), Aelia Currency Switcher, YITH Multi Currency Switcher
and Price Based on Country.

#### Fast, private and secure

 * Storefront scripts and styles load only on products that have option sets.
 * No external requests, no tracking and no data collection of any kind.
 * Every setting is saved with WordPress nonces and capability checks.
 * Uploaded files are validated by type and size, and SVG files are blocked by default.
 * Fully translation-ready.

#### Source code and development

The complete, unminified source code is public on GitHub:

[https://github.com/coderskamrul/pickset-product-options](https://github.com/coderskamrul/pickset-product-options)

The files in `assets/build/` are compiled from `assets/src/` with `@wordpress/scripts`,
and both folders are included in the plugin. To rebuild the assets yourself:

 1. Clone the repository.
 2. Run `nvm use` (Node.js 20 or later is required).
 3. Run `npm install`.
 4. Run `npm run build`.

## Screenshots

[⌊The visual option set builder with a live product preview.⌉⌊The visual option 
set builder with a live product preview.⌉[

The visual option set builder with a live product preview.

[⌊The field picker with all 30 custom product field types.⌉⌊The field picker with
all 30 custom product field types.⌉[

The field picker with all 30 custom product field types.

[⌊Dynamic pricing settings with regular and sale prices for each choice.⌉⌊Dynamic
pricing settings with regular and sale prices for each choice.⌉[

Dynamic pricing settings with regular and sale prices for each choice.

[⌊Conditional logic rules for showing or hiding fields.⌉⌊Conditional logic rules
for showing or hiding fields.⌉[

Conditional logic rules for showing or hiding fields.

[⌊Assigning an option set to products, categories, tags or brands.⌉⌊Assigning an
option set to products, categories, tags or brands.⌉[

Assigning an option set to products, categories, tags or brands.

[⌊Product options with swatches and live price totals on the product page.⌉⌊Product
options with swatches and live price totals on the product page.⌉[

Product options with swatches and live price totals on the product page.

## Installation

#### Minimum requirements

 * WordPress 6.2 or later
 * WooCommerce 7.0 or later
 * PHP 7.4 or later

#### Automatic installation

 1. In your WordPress dashboard, go to **Plugins > Add New Plugin**.
 2. Search for **Pickset Product Options**.
 3. Click **Install Now**, then **Activate**.

#### Manual installation

 1. Download the plugin zip file.
 2. Go to **Plugins > Add New Plugin > Upload Plugin** and choose the zip file.
 3. Click **Install Now**, then **Activate**.

You can also unzip the file and upload the `pickset-product-options` folder to `/
wp-content/plugins/` over FTP, then activate it from the **Plugins** screen.

#### Create your first option set

 1. Go to **Product Options > Option Sets** in your dashboard.
 2. Create a new option set and drag fields onto the canvas.
 3. Set prices and conditional logic for each field.
 4. Click **Assign** and choose the products, categories, tags or brands that should
    display it.
 5. Publish the option set and open one of those products in your store.

## FAQ

### Is Pickset Product Options really free?

Yes. There is no premium version, no license key and no locked features. All 30 
field types, both formula fields, conditional logic, analytics and multi-currency
compatibility are included for free.

### Does it require WooCommerce?

Yes. Pickset Product Options is a WooCommerce extension, so WooCommerce 7.0 or later
must be installed and active.

### How is this different from WooCommerce variations?

Variations are best for combinations of fixed attributes, such as size and color,
that each have their own stock. Product options are better for input that cannot
be listed in advance, such as custom text, uploaded files, dates or calculated measurements,
and for extras that add to the price without creating a new variation.

### Can I add extra product options to specific products or categories?

Yes. Each option set can be assigned to all products, specific products, product
categories, product tags or product brands, and you can exclude individual products.

### Does it work with variable products?

Yes. Option prices, including percentage-based prices, update automatically when
the customer selects a variation.

### Can product options change the price?

Yes. Every choice can add a fixed amount, a percentage, a per unit, per character
or per word price, or a formula-based price, with separate regular and sale prices.
The final price is always recalculated on the server.

### Can customers upload files?

Yes. The File Upload field accepts images (PNG, JPG and HEIC), PDF, CSV, DOC and
plain text files by default, and you can control the allowed types, maximum size
and number of files. SVG files are blocked by default because they can contain scripts.
Developers who accept that risk can allow them with the `pkset_upload_mimes` filter.

### Where are uploaded files stored, and are they deleted?

Files are stored in `wp-content/uploads/pkset_uploads/`. You choose how long they
are kept at each order stage, and expired files are removed automatically by a scheduled
task.

### Does it work with the WooCommerce Cart and Checkout blocks?

Yes. Pickset Product Options supports both the Cart and Checkout blocks and the 
classic shortcode-based pages. It is also compatible with High-Performance Order
Storage (HPOS).

### Will it slow down my store?

No. The storefront scripts and styles load only on products that have an option 
set, and the admin builder loads only on the plugin’s own screens.

### Does it work with multi-currency plugins?

Yes. It is compatible with 14 popular currency switchers, including WooPayments,
WPML, CURCY, YayCurrency, FOX (WOOCS), Aelia, YITH and Price Based on Country.

### Do I need to know how to code?

No. Everything is built with the visual drag-and-drop builder. Developers can still
extend the plugin with WordPress actions and filters.

### Does the plugin collect data or connect to external services?

No. Pickset Product Options makes no external requests and does not track you or
your customers. Analytics data is stored only in your own WordPress database.

### Is it translation-ready?

Yes. All text uses the `pickset-product-options` text domain, and a translation 
template is included in the `languages` folder.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Pickset – Product Options & Product Addons for WooCommerce” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ Md. Kamrul Hasan ](https://profiles.wordpress.org/hasandev/)
 *   [ pluginshift ](https://profiles.wordpress.org/pluginshift/)

[Translate “Pickset – Product Options & Product Addons for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/pickset-product-options)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/pickset-product-options/),
check out the [SVN repository](https://plugins.svn.wordpress.org/pickset-product-options/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/pickset-product-options/)
by [RSS](https://plugins.trac.wordpress.org/log/pickset-product-options/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.0.0**
 *  Last updated **11 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [conditional logic](https://wordpress.org/plugins/tags/conditional-logic/)[extra product options](https://wordpress.org/plugins/tags/extra-product-options/)
   [Product Addons](https://wordpress.org/plugins/tags/product-addons/)[product fields](https://wordpress.org/plugins/tags/product-fields/)
   [Product options](https://wordpress.org/plugins/tags/product-options/)
 *  [Advanced View](https://wordpress.org/plugins/pickset-product-options/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/pickset-product-options/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/pickset-product-options/reviews/)

## Contributors

 *   [ Md. Kamrul Hasan ](https://profiles.wordpress.org/hasandev/)
 *   [ pluginshift ](https://profiles.wordpress.org/pluginshift/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/pickset-product-options/)