Uni CPO - WooCommerce Options and Price Calculation Formulas

Uni CPO - WooCommerce Options and Price Calculation Formulas

If you like Uni Custom Product Options plugin, please don’t forget rate it 1 2 3 4 5 . It really helps me a lot, thank you very much!

Horray! The version 2.0 of the plugin has landed!

Uni CPO Demo Link Uni CPO Documentation Link


‘Uni CPO – WooCommerce Options and Price Calculation Formulas’ is a fully featured plugin that gives a possibility to add any custom options to your WooCommerce products as well as enables custom price calculation based on any maths formula. The current version includes these types of options: text input, file input, radio inputs, checkboxes, dropdown, date/time picker, range slider, palette select and textarea as well as special types such as heading, divider, note.

For each option you can define title and a set of specific settings like: - min, max, step values for input type number/decimal or range slider; - max file size and allowed mime types for file input - sub options for checkboxes, radio, dropdown, palette select etc. Also, this plugins gives an ability to create field conditional rules and display/hide certain children options based on a choice made in its parent option.

However, the unique feature of the plugin is that it creates a possibility to use any maths formula in order to calculate the price of the product based on user’s input / options chosen!

Moreover, there is a conditional logic for formula – it is possible to create several formulas which will be applied under certain circumstances – user chosen options. And even better – you can create non option based variable(s) and use it in formula conditional rules. A quick example: you want to set sort of base price (e.g. apply a different maths formula) based on a calculated area that is calculated based on user’s defined width and height. Easy! :) You will be able to apply different formulas based on the value of calculated area!

The plugin works with products type ‘simple’ (including virtual products).

Important announcement

I will install the plugin and configure as many products as these products have up to 20 custom options in total for those my customers who bought an extended license of the plugin!


  • Options builder – nice UI that provides a smooth user experience
  • 10+ types of options/fields included (more will be added soon!)
  • An ability to create as many as you want non option based variables and use them in a formula(s)
  • A possibility to use almost any maths formula for price calculation!
  • Conditional logic for formula
  • Conditional logic for options/fields
  • Cart discounts (currently only qty based, more will be added soon)
  • An information about chosen/defined options is added to cart item / order item meta and visible in a customer’s account, on order edit screen, in emails
  • Change product image for option type dropdown
  • An ability to disable product ordering under certain circumstances

Real usage examples


Feedbacks from my beloved customers

Feedbacks for Uni CPO


Version 2.2.1
- Fixed: a bug when the price of variable products was set to zero in the cart
- Improved: some minor issues in the code

Version 2.2.0
- Updated: datetime picker js plugin
- Added: new settings for datetime picker (days of start of the week, weekend days, disabled dates)
- Improved: min date setting for datetime picker (warning!! 'tomorrow' special word is obsolete now; read the docs!)
- Added: a unique feature - a possibility to use a maths formula as value of cart discounts rules!
- Fixed: issues with sorting and saving cart discount rules and non option vars items
- Fixed: 'Total for ...' text will be hidden for products which are sold individually

Verion 2.1.18
- Added: a possibility to display an image in lightbox as a tooltip for an option
- Fixed: a bug with saving NOV options

Verion 2.1.17
- Added: Import/export of formula conditional rules
- Fixed: some minor bugs and made some small improvements

Verion 2.1.16
- Fixed: a bug in options set duplication functionality

Verion 2.1.15
- Hotfix: fixed a bug in formula conditional rules
- Hotfix: fixed a bug related to sorting of formula conditional rules and suboptions

Verion 2.1.14
- Fixed: a small bug related to choosing a default value for options with suboptions
- Fixed: a possibility to 'order again' the same product(s) with custom options (works for new orders only)

Verion 2.1.13
- Fixed: a bug in price calculation when a non option variable name user generated part is the same as the same part in one of the option based variables
- Added: a possibility to disable main image changing upon selection one of suboptions of 'image select' option and 'dropdown' option
- Added: a possibility to set a custom size of the thumbs generated by 'image select' option; default dimension is 70x70 px
- Improved: some minor tweaks and fixes in the code of the plugin

Version 2.1.12:
- Added: a new option type 'Image select'
- Added: a new option type 'Custom JS'
- Added: an ability to add a tooltip next to option label
- Improved: plugin's code
- Fixed: another one bug in options duplication script

Version 2.1.11:
- Fixed: a bug in options duplication script
- Added: an ability to enable 'Calculate' button (on per product basis)
Pls, also update WooCommerce to 2.6+.

Version 2.1.10:
- Added: a possibility to rename options set as well as duplicate it!
- Improved: date picker script has a new look now
- Added: period date picker option (select it as type of date picker)
- Added: two special variables (read about them in the documentation)
- Updated: the plugin's documentation

Version 2.1.9:
- Fixed: displaying proper calculated prices and totals (with or without taxes) on product page

Version 2.1.8:
- Fixed: a bug related to displaying total and the price discounted for values over 1000
- Fixed: an issue with choosing an image for a suboption in WP media uploader
- Fixed: a bug related to conditional logic when 'is_empty' and 'not_equal' operators are used and options are empty/not set
- Improved: options variables list near main formula textarea is getting updated after NOV var added/changed
- Improved: 'disable ordering of the product' functionality; added a possibility to display a custom message in this case; this feature is described in the documentation now

Version 2.1.7:
- Fixed: a bug in formula conditional logic when using 'is_empty' comparison operator
- Added: a possibility to set min and max chars for text input with 'string' type

Version 2.1.6:
- Improved: code optimization
- Fixed: an issue with range slider option
- Updated: translation files; all field validation msgs are now in plugin's translation file!
- Added: Polish translation (special thanks to Pawe? Markiewicz!)

Version 2.1.5:
- Fixed: a bug when values of hidden options were being added on 'add to cart submit'

Version 2.1.4:
- Fixed: several bugs related to custom options validation and choosing of default value
- Fixed: a bug in price calculation in the cart

Version 2.1.3:
- Added: file upload option
- Added: a possibility to use non option based variables in formula conditional rules
- Added: support of [product_page] shortcode (pls, use only ONE per page!)
- Added: a special word 'disable' to disable ordering of the product under certain condition(s)
- Added: diable/enable "Total for ..." text for the entire website
- Improved: code optimization
- Fixed: some bugs related to visual appearance of some parts (elements), validation errors etc

Version 2.1.2:
- Fixed: css styles conflict with some themes
- Fixed: a bug in formula conditional rules functionality
- Fixed: a bug when heading, divider and notice options couldn't be saved
- Improved: css styles in admin
- Improved: code optimization for some options

Version 2.1.1:
- Fixed: a js bug that was appeared in all browsers except FireFox

Version 2.1.0:
There is a lot of improvements in this version of the plugin!
- Improved: huge code optimization
- Improved: main formula and formula conditional rules cheme get updated on options slugs change
- Improved: field conditional rules scheme of a particular child option will not be auto deleted: 1) on change of a parent option slug 2) if this child option moved to other parent option of the same type
- Improved: added new setting for options 'Header for cart/order meta'; now you can use two separated texts as field label on product page and as cart/order meta title
- Improved: it is possible to use some html tags (a, br, strong, em, code, p) in a main text in 'Notice' option 
- Added: a new setting for 'Notice' opton: 'Shortcode'. It is possible to add any WP shortcode there and it will be executed.
- Added: two new settings for 'Textarea' option: min. and max number of chars.
- Added: non option based variables (experimental feature; cannot be used in formula conditional rules)
- Added: 'Palette select' option
- Added: demo content
- Fixed: an issue when fomula conditional rules scheme gets broken on options slugs change
- Fixed: a bug when it wasn't possible to deselect 'default' radio for suboptions
- Updated: the documentation 
Important! Fields conditional logic fails after update from 2.0 to 2.1. There is a very quick and easy fix for that - just open the product edit screen and your are done. Do this for every product where fields conditional logic is used. Yes, just open the product edit screen (e.g of URI: http://your_domain/wp-admin/post.php?post=26&action=edit) and that's all :)