Product Options and Price Calculation Formulas for WooCommerce – Uni CPO



Uni CPO – WooCommerce Options and Price Calculation Formulas es un plugin con funciones que permiten añadir opciones personalizadas a los productos de WooCommerce, además de permitir cálculos personalizados de precios basados en cualquier fórmula matemática.

Usa un maquetador visual de formularios para añadir las opciones personalizadas. ¿Quieres poner las opciones en dos, tres o más columnas? ¡Fácil! ¿Deseas establecer un color personalizado, márgenes, agregar texto personalizado, etc? ¡Sí, también es posible!

Tardarás solo tres minutos en personalizar un producto de WC e implementar el cálculo de precios basado en las opciones extra del producto y cualquier fórmula matemática:

Añade opciones extra a tus productos, enséñaselas condicionalmente, da a tus clientes la posibilidad de personalizar productos. Personalízalos incluyendo información dinámica como tamaños, etiquetas personalizadas, comentarios. Además, ¡crea un esquema único de cálculo de precios basado en la opciones personalizadas añadidas!

Main features

  • Visual form builder – design the look of your form in easy and smooth way!
  • Custom product option types – 10+ different types!
  • A possibility to use non option variables (NOV) – synthetic variables which can hold both a specific value or a
    maths formula as its value
  • A possibility to use wholesale-like functionality for your NOVs – different values for different user roles!
  • A possibility to use virtually any maths formula for the price calculation of your product
  • A possibility to add formulas conditional logic – apply different formulas under different circumstances!
  • A possibility to create fields conditional logic – display/hide certain custom options based on the values of
    other custom options and/or NOVs
  • A possibility to use custom price tables (via Non Option Variables functionality), set product price based on one or two custom options!
  • Integrate with ShipperHQ or Boxtal and let them use the calculated weight of the ordered item and request the real shipping rates!
    …and many many more! 😉

Full List of Features and Docs

Demo – Try By Yourself!

DEMO site with PRO version installed (unlocked all the features)
Use the following credentials to log in and try by yourself:
* username: demo
* password: demo
login URL

Pro version of the plugin is available here
The official FB group Builderians

¡Uni CPO es compatible SOLO con estos tipo de producto: ‘simple’ y ‘suscripción’! Pero para que necesitarás algún producto variable cuando existe este plugin, ¿de acuerdo? 🙂


  • screenshot-1.png
  • screenshot-2.png
  • screenshot-3.png
  • screenshot-4.png
  • screenshot-5.png
  • screenshot-6.png
  • screenshot-7.png


Minimum Requirements

  • WooCommerce 3.9+
  • WordPress 5.0 or greater
  • Versión 7.0 de PHP o superior.

Automatic installation

To do an automatic install of Uni CPO, log in to your WordPress dashboard, navigate to the Plugins menu and click Add New.

In the search field type “Uni CPO” and click Search Plugins. Once you’ve found our WC extension plugin you can view details about it such as the point release, rating and description. Most importantly of course, you can install it by simply clicking “Install Now”.

Manual installation

  1. Upload the plugin files to the /wp-content/plugins/uni-woo-custom-product-options directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the Plugins screen in WordPress
  3. Use the WooCommerce->Uni CPO Settings screen to configure the plugin


Q: Do I need to back up before update?

A: Yes, always and ever! Back up your files as well as database. Always test new versions of the plugin on test/stage server first!

Q: I’m using Uni CPO 3.1.8 or below purchased on Do I need to update immediately?

A: We wouldn’t recommend to do this yet. First, this version is so called ‘lite’ version and will always have less features than future ‘pro’ version. Also, version 4 is incompatible with the previous versions of the plugin. The migration script isn’t ready yet.


16 de septiembre de 2020
We would not be able to create our products without this plugin! It made our eCommerce site possible! For those who are not developers and just tech-savvy enough for wordpress, Uni CPO offers many great features. The UI and product setup for dynamic options for weight, dimensions and many other variables is well done. They put a lot of thought and time into this and it shows! We have products with 100 fields and pricing that would change depending on 4 different quantity ranges. This plug-in did it! It also came in super handy for setting up the weights per each paper product and then multiplying the total count to get the correct shipping weight when a user saved to the cart. They also list all the sub-details in the cart so that user could see the options they chose. This plug-in will require some time getting used to because complicated product setup isn't going to be a cakewalk, but that comes with the territory. Set up some test products on a local test site until you get the hang of it. The developers do get back to your forum questions and the docs do a good to great job, but take time to setup test products as you read through the docs so that you can make sure you got everything right! Thanks for the great work! You deserve more 5 star reviews!
15 de septiembre de 2020
This is really the best plugin that i ever used concerning price altering and is very flexible to use. Also support is very good and fast. i would recommend everybody to use this plugin if you need a dynamic price!
14 de agosto de 2020
I know this kind of reviews tend to look like fake entries because sometimes things just seem too good to be true. But good is an understatement. This plugin just works, the reach of their conditional logic is so far and wide, they really gave some in-depth thought to the actual needs of users beyond the classic form requirements, no hidden fees or having to buy a bunch of other addons for it to do what you want, everything is there neatly packed in a very intuitive and simple builder. Their tech support is also very good, my doubts were solved really quickly and straightforward. This plugin literally saved the gig, I'm grateful and overall very happy with it, if you need to do some crazy complex operations, with a lot of steps and substeps, this plugin will help you make it in a breeze, 10/10. Thanks guys, keep working hard!
30 de julio de 2020
Very useful for customize products in woocommerce. 4 of 5 stars only because everyting can be improved so this plug-in... for example will be useful the interaction between woocommerce quantity in uni-cpo price formula so the customer can see the total amount before add to cart.
16 de julio de 2020
Proper programming would expect a duplicated product in it's own 'namespace' or 'data object' for easy reuse and independency, importing components like select, textfield, radio button.. change an option = no problem, no influince on other products Not with this module! (licence purchased). IMPORTANT: NEVER EVER Should a user be able to overwrite data without notice, un-aware! Ruining your database, showing products as 0,- cost - This is simply not done. (*1) ( you can start giving your webshop products away for free with this module ) Been using WordPress since 2009, been very happy and greatfull using it. Never had to do with this kind of nonsence/developer. This developer let's website data input users choose, 'save to DB or not to save to DB selects', 'sync or not to sync' and 'fetch the rule' if you choose wrongly, you are lost. If your site consists of thousands of products you WILL easely overwrite other products, un-aware. Continue and you will ruin your website rendering your work a disaster. Call on support and you will get answers as read the docs! Your fault, check the variables. ( Docs where broken and incomplete btw & fixed because of me) Lost 5 days. Littary from the docs: ... So, by changing settings and saving them with 'save to DB' you actually overwrite this option and all other instances in any other products may become broken! Good luck with that! 5 stars? HA! Joke. Should not be used, rather be removed.
Leer todas las 63 reseñas

Colaboradores y desarrolladores

«Product Options and Price Calculation Formulas for WooCommerce – Uni CPO» es un software de código abierto. Las siguientes personas han colaborado con este plugin.


«Product Options and Price Calculation Formulas for WooCommerce – Uni CPO» ha sido traducido a 1 idioma local. Gracias a los traductores por sus contribuciones.

Traduce «Product Options and Price Calculation Formulas for WooCommerce – Uni CPO» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios


  • Added: auto correction of ‘pid’ attributes on config import
  • Added: auto correction of URLs in radio/checkboxes on config import
  • Added: new filter ‘uni_cpo_nov_variable_value’


  • Fixed: annoying JS error related to certain version of jQuery
  • Fixed: ‘unknown’ NOV is being saved; now it will not be saving, still you have to remove it from the list of NOVs and save them, for each product


  • Added: first version of CPO data manager (pro version)
  • Improved: integration with NBdesigner plugin
  • Fixed: a bug with layouts for «Colorify» functionality


  • Fixed: a bug with «Colorify» functionality on mobile devices
  • Fixed: a bug with layouts for «Imagify» functionality


  • Improved: several warnings popping up under certain circumstances


  • Fixed: displaying proper order data in add/edit CPO options modal
  • Added: setting to control for which user role prices should be calculated when administrator edits order
  • Improvement: added ‘setlocale(LC_NUMERIC, ‘C’);’ to force using ‘.’ (dots) as decimal delimiter (by default, in PHP 7.3+ env it sets this param differently); commas cannot be used as they break price calculation;


  • Fixed: cart item with removed/overwritten options generated error


  • Updated: ‘rangesum’ functionality; added new filter related to this functionality
  • Improved: possibilities for string translation in several places
  • Improved: conditional logic for «Imagify» functionality
  • Added: fix for ‘sold individually’ behaved wrongly when WC Multilingual plugin is activated
  • Fixed: a bug with tooltips on mobile devices


  • Fixed: a bug in ‘rangesum’ functionality;


  • Fixed: displaying ‘select options’ for ‘out of stock’ products


  • Fixed: disappearing of tooltip icons next to option’s labels


  • Fixed: duplicating cart item functionality


  • Fixed: issue related to checkboxes labels disappearing


  • Added: a possibility to configure dynamic options’ and suboptions’ labels
  • Fixed: a bug in «Imagify» functionality for Classic/Colour/Text types of Radio Input option
  • Checked for compatibility with WC 3.9


  • Added: new util method getCartLabel; it can be used in Dynamic Notice, gets cart/order label of the
    option instead of regular label
  • Fixed: an issue when Image Conditional Logic data was not saving on copying/duplicating the product


  • Fixed: a bug when it was not possible to edit custom options in wp admin dashboard when editing an order


  • Fixed: a bug related to ‘order again’ pro functionality


  • Fixed: a bug in «Imagify» functionality for mobile devices
  • Fixed: a warning appearing in the cart related to pitchprint integration code


  • Fixed: a bug when pitchprint cart item’s preview was not displaying
  • Fixed: a bug in «Image Conditional Logic» functionality
  • Improved: now files of added to cart items are cleared from the form on the product page


  • Fixed: a bug in NOV matrix functionality
  • Fixed: a bug in ‘getLabel’ func


  • Fixed: a bug in Select option render function
  • Added: ‘uni_cpo_before_render_builder_modules’ filter
  • Added: cs_CZ translation file (thanks to Radim Hahn)


  • Fixed: a styling issue with tooltip for select field
  • Improved: NOV’s matrix ‘range sum’ functionality


  • Fixed: an issue with wrong values when editting cart item
  • Fixed: an issue with lost validation of qty field when using Uni CPO plugin
  • Fixed: an issue when it sometimes was possible to upload more than file for File Upload


  • Fixed: a bug in NOV’s matrix ‘range sum’ functionality


  • Added: rangesum() math function (the details are in the docs)
  • Added: an advanced functionality related to using NOV’s matrix in ‘range sum’ functionality


  • Fixed: a bug in Datepicker related to counting duration when in ‘days’ mode
  • Fixed: a bug in fields conditional logic related to operators is_empty|is_not_empty and radio/checkboxes fields


  • Improved: CSV import functionality


  • Added: import tool for radio/checkboxes/select options’ suboptions
  • Fixed: a possibility to choose more than one default value for checkboxes


  • Added: ‘currency’ special variable to formula conditional logic; may be used in conjunction with Aelia switcher
  • Added: new type of JS validators: ‘greaterorequalthan’, ‘greaterthan’, ‘lessorequalthan’, ‘lessthan’
  • Fixed: an issue with validation when creating order in admin area
  • Fixed: an issue with with matrix table


  • Added: ‘minpositiveorzero’ function to be used in formulas
  • Added: ‘uni_wrapper_attributes_for_option’ filter; now custom attributes can be added to option’s wrapper


  • Fixed: small fix: a PHP warning when using conditional logic


  • Fixed: a bug with suboptions conditional rules for Radio Input and Checkboxes options»
  • Fixed: a bug with changing main image for «Range slider»


  • Added: suboptions conditional rules for Radio Input and Checkboxes options
  • Fixed: a bug with step setting for «Range slider» option and the input next to range slider


  • Fixed: Security fix


  • Fixed: conflict when using along with YITH bundled products plugin
  • Fixed: a bug with data.getSuboptionLabel() method for Checkbox inputs option
  • Fixed: a bug with changing main image and adding item to the cart page


  • Fixed: a bug when excluded from participating in Imagify options were still used in Imagify


  • Improved: Colorify/Imagify dynamically generated image for the cart/order item
  • Fixed: Fixed a broken link/html to the uploaded file; reverted to just filename, because WC does not allow ANY html
  • Fixed: changing slides in Flatsome theme when using Colorify/Imagify functionality


  • Improved: displaying product prices on archives


  • Fixed: add/edit CPO options data on edit order page in admin area


  • Fixed: displaying product price in admin area; reverted to original prices, so they can be sorted
  • Fixed: displaying range slider in the builder mode


  • Hotfix: another one bug in the code


  • Hotfix: a bug in the code


  • Added: Imagify functionality
  • Added: new option: Extra Cart Button
  • Added: «Free samples» functionality
  • Added: new option: Google Map
  • Added: two new vars for Dynamic Notice related to cart discounts
  • Added: helper methods for variables to be used in Dynamic Notice
  • Improved: fields conditional logic script, fixed some minor issues
  • Fixed: Colorify func related code – the issue when the main image has not been updated accordingly on init
  • Fixed: Cart/order meta strings could not be translated via string translation functionality of multi language plugins
  • Fixed: a bug related to using big numbers in Matrix option


  • Fixed: a PHP Warning related to Radio Input option


  • Fixed: some issues with radio and checkboxes options


  • Added: qty based cart discounts
  • Added: possibility to choose custom field as qty field (instead of standard WC qty field) and display its value in Qty column in cart/order
  • Added: «sold individually» setting; it does what the original WC setting does, but for products with enabled Uni CPO options
  • Improved: displaying custom price tag templates on archives
  • Improved: added separate settings for styling option’s label


  • Fixed: ‘step’ attribute for Text Input now works like intended
  • Fixed: the compatibility issue with Aelia Currency Switcher when using {uni_cpo_price} variable


  • Fixed: bug in IE with radio/checkbox options
  • Fixed: added missing file
  • Fixed: bug with border for radio/checkbox options


  • Added: a possibility to use any NOV as starting price setting; useful for displaying role based wholesale prices
  • Fixed: issues with fields conditional logic and operators ‘between’ and ‘not_between’


  • Added: product basic setup tutorial (WP pointers)
  • Added: ‘between’ and ‘not_between’ query builder filters for Text Input; fixed the same filters for NOVs
  • Fixed: some minor styling issues


  • Added: support of Aelia Currency Switcher
  • Fixed: not saving ‘class’ and/or ‘id’ attributes for a, img, table html tags
  • Fixed: displaying dimensions for cart items even if it is disabled
  • Improved: suboptions conditional logic functionality based on users’ feedbacks


  • Added: support of Storefront Sticky header
  • Improved: suboption conditional logic
  • Fixed: some minor styling issues


  • Fixed: a bug on order edit page


  • Added: suboption conditional logic (currently Select option only)
  • Added: a possibility to display NOVs in cart/order meta
  • Fixed: a bug with saving checkboxes values in order meta


  • Added: a possibility to use regular variables and NOVs as cart discounts values
  • Fixed: a bug in formula conditional logic


  • Added: a possibility to use Dropbox as the file storage for the files uploaded via File Upload Options
  • Updated: Freemius SDK


  • Added: timepicker mode for Datepicker Option
  • Added: ‘multiple dates’ mode for Datepicker Option
  • Added: ‘subscription’ product type unlocked for using in the plugin (experimental)
  • Updated: jQuery QueryBuilder script to 2.5.2
  • Fixed: several small style issues


  • Added: support for «Popup Maker – Popup Forms, Optins & More» plugin; use popups instead of tooltips
  • Improved: some small enhancements, including adding notifications in case of common errors and issues
  • Fixed: a bug when ‘remove’ icon is disappeared in NOV matrices


  • Improvement: small fixes and improvements
  • Added: support for the plugin add-ons


  • Hot-fix for price calculation in the cart; there was a bug related to options with suboptions
  • Fixed: using NOVs in validation conditional logic
  • Added: support for Avada theme for changing image upon selection in option functionality
  • Added: a possibility to set NOV value as value for validation attribute


  • Added: Matrix Option
  • Added: Colorify functionality
  • Added: a possibility to add input for range slider in single mode
  • Added: starting price, price prefix, price postfix and price template for archives settings
  • Added: support for RTL languages
  • Fixed: a possibility to add files for order meta if this meta is for File Upload Option
  • Fixed: displaying added item in WC cart widget
  • Fixed: some other minor bugs


  • Hot-fix price displaying issue on other products


  • Fixed adding custom image (if selected) upon cart item duplication
  • Fixed updating cart item after ‘full edit’ instead of creating a new cart item
  • Fixed disabling ‘add to cart’ btn by using a special word ‘disable’ instead of formula


  • Fixed a JS bug related to price calculation data that is returned from backend


  • Fixed a bug when adding product to cart
  • Added support for WC 3.3+


  • Added ‘min date’ and ‘max date’ settings for Date picker option
  • Added ‘custom values’ setting for Range Slider option
  • Added ‘font’ setting for Select option
  • Added cart item edit ‘full’ mode (PRO)
  • Added ‘other variables’ are now can be used in Dynamic Notice
  • Improved File upload: a file will be uploaded automatically after adding
  • Improved: WC price is now hidden on init
  • Improved: option’s values are now preserved after page reload during adding to cart
  • Changed: JS event names are prefixed with ‘uni_’
  • Fixed saving special tags in Dynamic Notice option
  • Fixed saving ‘img’ tag in tooltips
  • Fixed displaying/hiding ‘order disabled’ custom message
  • Fixed fields conditional logic when using NOVs


  • Fixed validation for Text Input in ‘decimal’ mode
  • Fixed a bug when it was not possible to set ‘one letter’ slug for suboptions


  • Added Dynamic Notice option
  • Added Range Slider option
  • Added Dimensions Conditional Logic
  • Added ‘convert to unit’ functionality for NOVs
  • Added order item edit functionality
  • Improved support for various WP themes, fixed some CSS related issues
  • Improved cart item inline edit functionality – added support for datepicker
  • Fixed an issue when alt image for suboptions was not actually optional
  • Fixed an issue when two clicks were needed to select radio input in ‘image’ mode


  • Fixed an issue related to the order of cart/order meta
  • Fixed displaying ‘Select options’ instead of ‘Add to cart’ on product archives
  • Fixed an issue with using a wrong protocol during enqueueing some dynamically generated content on sites with SSL enabled
  • Improved styles for several option types
  • Added a scroll bar for the options list in the builder panel


  • Enhaced and improved


  • Fixed a bug «Inconsistency of view in builder and in the frontend»


  • Fixed a bug with displaying prices which are higher than one thousand


  • The release of the plugin