Title: Alovio Product Options – Extra Product Fields &amp; Add-Ons for WooCommerce
Author: 74h1r
Published: <strong>Juni 3, 2026</strong>
Last modified: Agustus 1, 2026

---

Search plugins

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

![](https://ps.w.org/corelabs-product-options/assets/icon-256x256.png?rev=3577721)

# Alovio Product Options – Extra Product Fields & Add-Ons for WooCommerce

 By [74h1r](https://profiles.wordpress.org/74h1r/)

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

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

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

## Description

**Alovio Product Options** turns WooCommerce products into configurable products.
Add extra fields and paid add-ons, show or hide them with conditional logic, price
them per unit, per character, as a percentage or with a formula — and let shoppers
watch a live price breakdown update as they choose.

Everything is free. No Pro version, no locked features, no upsell screens.

#### Build once, apply everywhere

Create an **option group** in the visual builder and apply it to **all products**,
whole **categories**, or hand-picked products. Priorities control the order when
several groups meet on one product. A slim panel on the product-edit screen shows
exactly which groups apply, with one-click deep links.

#### 18 field types

Text, text area, number, checkbox, multiple choice (radio), dropdown, **button group**,**
colour swatch**, **image swatch**, **quantity stepper**, date, time, email, phone,
URL, **file upload** (secure, rate-limited, MIME-verified — up to 10 files per field,
each removable), surcharge, and section heading.

#### Conditional logic — all of it free

Show, hide or require any field based on other fields, with **multi-condition AND/
OR rules** and five operators (_is, is not, contains, greater than, less than_).
The builder previews rules live: set a value in the simulation bar and watch fields
appear and disappear exactly as they will on the product page.

#### A price per option

Selling sizes, materials or finishes? Give **every choice its own price** — _21×
30 +399, 30×40 +499, 50×70 +799_ — in dropdowns, radio buttons, button groups, colour
and image swatches. Prices appear beside each choice automatically, so shoppers 
compare before they pick.

#### Five pricing modes

 * **Fixed** — a flat add-on price.
 * **Per unit** — price × the number entered (number and quantity fields).
 * **Per character** — price × text length (engraving!).
 * **Percentage** — a share of the product price, variation-aware.
 * **Formula** — decimal-safe expressions over your fields: `{width} * {height} *
   0.85`, with `min()`, `max()`, `round()`.

#### Live price breakdown

Instead of a mystery total, shoppers see an itemized box: base price, each chosen
option with its cost, and the final total — updating live, following the selected
variation, formatted in your store currency.

#### A builder you’ll actually enjoy

The full-screen builder shows your fields **as the customer sees them**, with drag-
and-drop ordering, undo, ⌘S save, a preview-as-customer simulation bar and a live
options total. Start from one of **six templates** — gift options, engraving, t-
shirt designer, made-to-order dimensions, delivery date, donation — or import/export
groups as JSON between sites.

#### Built right

 * **HPOS compatible** (High-Performance Order Storage).
 * **Accessible** — fieldset/legend structure, ARIA attributes, focus styles, inline
   validation messages.
 * **Translatable & RTL-ready.**
 * Option values flow into cart, checkout, order emails and the admin order screen—
   each priced option shows its cost right on the cart line (“Gift wrap: Yes (+$
   5.00)”) — and uploads become admin download links.
 * Server-side prices are always authoritative — the browser preview can never change
   what gets charged.

### Development

This plugin is not obfuscated. The compiled assets in `build/` are generated from
the human-readable source shipped in this package:

 * `src/` — the admin hub/builder (React, via `@wordpress/scripts`), the product-
   page runtime and the shared formula engine, compiled to `build/hub.js` and `build/
   frontend.js`.
 * `assets/css/` — stylesheet sources compiled into the bundles.
 * `composer.json` — the PSR-4 autoload map for the `includes/` PHP classes.

To rebuild from source: `npm install && npm run build` (webpack via `@wordpress/
scripts`; see `webpack.config.js`), and `composer install` for the PHP autoloader.

## Screenshots

[⌊The Product Options hub — every option group with its status and assignment, one
click from editing.⌉⌊The Product Options hub — every option group with its status
and assignment, one click from editing.⌉[

The Product Options hub — every option group with its status and assignment, one
click from editing.

[⌊The full-screen builder: 18-type palette, live product preview with a preview-
as-customer simulation bar, and the formula pricing editor.⌉⌊The full-screen builder:
18-type palette, live product preview with a preview-as-customer simulation bar,
and the formula pricing editor.⌉[

The full-screen builder: 18-type palette, live product preview with a preview-as-
customer simulation bar, and the formula pricing editor.

[⌊Six starter templates — gift options, engraving, t-shirt designer, made-to-order,
delivery date and donation.⌉⌊Six starter templates — gift options, engraving, t-
shirt designer, made-to-order, delivery date and donation.⌉[

Six starter templates — gift options, engraving, t-shirt designer, made-to-order,
delivery date and donation.

[⌊The storefront: option cards light up as customers choose — price pills, colour
swatches and a quantity stepper.⌉⌊The storefront: option cards light up as customers
choose — price pills, colour swatches and a quantity stepper.⌉[

The storefront: option cards light up as customers choose — price pills, colour 
swatches and a quantity stepper.

[⌊The live price breakdown — base price, each chosen option and the total, right
above Add to cart.⌉⌊The live price breakdown — base price, each chosen option and
the total, right above Add to cart.⌉[

The live price breakdown — base price, each chosen option and the total, right above
Add to cart.

## Installation

 1. Make sure WooCommerce is installed and active.
 2. Go to **Plugins  Add New**, search for “Alovio Product Options”, install and activate.
 3. Open **WooCommerce  Product Options** and create your first group — or start from
    a template.
 4. Assign the group to all products, categories or specific products, hit **Save &
    publish**, and check the product page.

Upgrading from 1.x? Your per-product fields are migrated to option groups automatically—
nothing to do.

## FAQ

### Is it really all free?

Yes. As of 2.0 every feature — multi-condition logic, all field types, all pricing
modes, file uploads, templates, import/export — ships in this plugin. There is no
Pro version.

### Does this require WooCommerce?

Yes. WooCommerce must be installed and active.

### Can I apply the same options to many products?

Yes — that’s the core of 2.0. Assign a group to all products, one or more categories(
child categories included), or specific products. Multiple groups can apply to one
product.

### Can each choice in a dropdown have a different price?

Yes. In the builder’s **Options** tab every choice has its own **Price** box — leave
it empty to fall back to the field price. Works for dropdowns, radio buttons, button
groups, and colour and image swatches, and the amount shows beside the choice on
the product page.

### Can I charge based on a calculation?

Yes. The formula pricing mode evaluates decimal-safe expressions over your number
and quantity fields, e.g. `round({width} * {height} * 0.02, 2)`.

### Does the price follow product variations?

Yes. The breakdown box tracks the selected variation’s price, and percentage-mode
options recalculate from it. The server prices from the variation too.

### How do file uploads work?

Files upload immediately on selection to a randomized, listing-protected folder 
after extension and real MIME checks, with a size cap and per-IP rate limiting. 
The cart shows the file names; the order stores an admin download link per file.
Abandoned uploads are cleaned up automatically.

### Can customers upload more than one file?

Yes — set **Max files** on the file field (up to 10). Customers see each uploaded
file as a removable item, so they can delete or replace any file individually before
adding to cart. Allowed formats out of the box: JPG, PNG, WEBP and PDF (filterable
via `clpo_upload_extensions`).

### Is the plugin compatible with HPOS?

Yes, fully.

### Can I move option groups between sites?

Yes — export any group (or all of them) as JSON and import on another site. Imports
arrive as drafts and are schema-checked with clear warnings.

## Reviews

![](https://secure.gravatar.com/avatar/b9c9eda3afbcd5d3313b214c9b90fe5cd0f06d818f9294eaa6c4d501e5945296?
s=60&d=retro&r=g)

### 󠀁[Great Plugin – Just One Feature Request](https://wordpress.org/support/topic/great-plugin-just-one-feature-request/)󠁿

 [osiosiosi](https://profiles.wordpress.org/osiosiosi/) Juli 26, 2026

<span style=”font-size: inherit;”>I’m very happy with the Alovia plugin overall.
It’s easy to use, has a clean interface, and offers many useful features. Great 
work by the developers!</span>The only feature I would really like to see in a future
update is the ability to upload multiple images/files in the File Upload section
and allow users to remove individual files after uploading them. Adding these features
would make the plugin even more flexible and user-friendly. I hope to see them in
a future update! 🙌

 [ Read all 1 review ](https://wordpress.org/support/plugin/corelabs-product-options/reviews/)

## Contributors & Developers

“Alovio Product Options – Extra Product Fields & Add-Ons for WooCommerce” is open
source software. The following people have contributed to this plugin.

Contributors

 *   [ 74h1r ](https://profiles.wordpress.org/74h1r/)

[Translate “Alovio Product Options – Extra Product Fields & Add-Ons for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/corelabs-product-options)

### Interested in development?

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

## Changelog

#### 2.4.1

 * Fix: on some themes the labels of dropdown, radio, button, colour and image fields—
   and the text inside the options themselves — rendered noticeably larger than 
   the fields beside them. Those elements are `<legend>` and `<label>` tags, which
   WooCommerce themes style directly, and the plugin’s own rule was weaker in CSS
   specificity, so the theme won. All option text now follows one scale whatever
   the theme does. Thanks to the user who reported it with a screenshot.

#### 2.4.0

 * NEW: A “Donate” button in the builder header. It opens a short note explaining
   that the plugin is free and stays free — no paid tier, no locked field types —
   and offers a coffee or a review for anyone who wants to support it. It replaces
   the cross-promo link that used to sit in the header.
 * Improve: every font size on the product page now scales with your theme. Help
   text, swatch captions, file names and error messages were fixed pixel sizes, 
   so on a theme with a large base font (Twenty Twenty-Five uses 22px) a 12px description
   sat under a 22px label. Sizes are relative now, and text inputs, selects and 
   file pickers match the surrounding text instead of the browser’s ~13px default.
 * Improve: the builder’s own typography runs on one scale instead of twelve near-
   identical sizes (10, 10.5, 11, 11.5, 12, 12.5px…), so labels, hints and headings
   read as a hierarchy.
 * Fix: the builder now sits flush against the admin menu and fills the screen. 
   Its full-bleed rules were keyed to a CSS class the page never had, so the layout
   kept wp-admin’s padding, showed the footer under a full-height app, and let admin
   notices push the whole builder down.
 * Fix: the builder header no longer wraps its labels into two lines (“Save & / 
   publish”) on laptop screens. It stays one row and hides its least important items
   as space runs out.
 * Fix: the text and number inputs in the builder’s PREVIEW AS bar were styled for
   a light background and overflowed the dark chip holding them.

#### 2.3.0

 * NEW: Per-option pricing — each choice in a dropdown, radio, button group, colour
   or image swatch can charge its own amount (21×30 +399, 30×40 +499, 50×70 +799).
   Set it in the builder’s Options tab.
 * NEW: Option prices show beside each choice on the product page automatically (“
   50×70 (+$799.00)”), and the field’s pill summarises the span (“+$399.00 – $799.00”).
 * Improve: option prices run through the field’s pricing mode, so “10% Express /
   20% Overnight” works exactly like flat amounts.
 * Improve: a field that mixes priced and unpriced options now shows each option’s
   real cost — an unpriced choice displays the field price it falls back to, and
   the summary pill spans both.
 * Improve: the builder’s field palette now uses one drawn icon set instead of a
   mix of emoji and typographic stand-ins, so it looks the same on every operating
   system.
 * Developers: `clpo_option_price_suffix` filters the text appended to an option
   label (return an empty string to hide it).

#### 2.2.0

 * NEW: The cart and checkout now show each option’s price on the line item as a
   price chip — “Gift wrap: Yes +$5.00” — with per-unit, per-character, percentage
   and formula modes all resolving to their real amounts.
 * NEW: Surcharge fields get their own cart row (e.g. “Board fee: +$48.00”), so 
   the whole line price is explained — no more silent fees.
 * Improve: the Block cart squeezed every option into one long slash-separated line;
   options now render one per line with bold labels — in the cart, checkout and 
   mini-cart, styled like the product page’s price pills.
 * Both work on the classic and the Block (Store API) cart; disable via the `clpo_cart_option_prices`
   and `clpo_cart_option_styles` filters.

#### 2.1.0

 * NEW: Multi-file upload — file fields get a **Max files** setting (1–10); customers
   can upload several files to one field, shown as a list with a remove button per
   file.
 * NEW: WEBP joins the default allowed upload formats (JPG, PNG, WEBP, PDF — still
   filterable via `clpo_upload_extensions`).
 * Improve: single-file fields get the same removable file item, so a chosen file
   can be deleted or replaced before add to cart.
 * Improve: every uploaded file gets its own download link in the order details 
   and admin order screen.
 * Fix: an inline “required” message could stick after the file finished uploading;
   validation now re-runs as soon as the field changes.
 * Fix: the file picker could overflow its option card on themes without a global
   border-box reset.

#### 2.0.1

 * Fix: the selected option in a button group could render as white text on a white
   fill on some themes — selected buttons now show clearly.
 * Fix: a field’s group label (e.g. a swatch or button title) could sit outside 
   its option card on themes that give fieldset legends a negative margin (such 
   as Storefront); labels now align with the field.
 * Fix: the description “?” toggle rendered on its own line instead of beside the
   field label.
 * Improve: a single checkbox option is now a styled control that matches the swatch/
   button design, instead of a raw browser checkbox.

#### 2.0.0

 * Everything is free: the Pro gate is gone — multi-condition logic, colour swatches,
   date fields, per-unit and percentage pricing now ship in the plugin.
 * NEW: Global option groups — build once, apply to all products, categories or 
   specific products, with priorities.
 * NEW: Full-screen builder hub (WooCommerce  Product Options) with a live product
   preview, preview-as-customer simulation, undo and ⌘S save.
 * NEW field types: image swatch, button group, quantity stepper, file upload, email,
   phone, URL, time.
 * NEW pricing modes: per-character and decimal-safe formula (`{width} * {height}*
   0.85` with min/max/round).
 * NEW: Live price breakdown box on the product page — itemized, currency-formatted,
   variation-aware.
 * NEW: Six starter templates and JSON import/export for option groups.
 * Storefront polish: prices on labels, help tooltips, character counters, inline
   validation, focus styles, RTL.
 * 1.x per-product fields migrate to option groups automatically; carts survive 
   the upgrade.

#### 1.0.0

 * Initial release.

## Meta

 *  Version **2.4.1**
 *  Last updated **2 weeks ago**
 *  Active installations **30+**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/corelabs-product-options/)
 * Tags
 * [add-ons](https://su.wordpress.org/plugins/tags/add-ons/)[conditional logic](https://su.wordpress.org/plugins/tags/conditional-logic/)
   [extra fields](https://su.wordpress.org/plugins/tags/extra-fields/)[Product options](https://su.wordpress.org/plugins/tags/product-options/)
   [woocommerce](https://su.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://su.wordpress.org/plugins/corelabs-product-options/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/corelabs-product-options/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/corelabs-product-options/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/corelabs-product-options/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/corelabs-product-options/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/corelabs-product-options/reviews/?filter=1)

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

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

## Contributors

 *   [ 74h1r ](https://profiles.wordpress.org/74h1r/)

## Support

Got something to say? Need help?

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

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://alovio.org/donate)