Title: HDWebmobile Formula Pricing
Author: HDWebMobile
Published: <strong>October 13, 2026</strong>
Last modified: October 14, 2026

---

Search plugins

![](https://ps.w.org/hdwebmobile-formula-pricing/assets/banner-772x250.png?rev=3745071)

![](https://ps.w.org/hdwebmobile-formula-pricing/assets/icon-256x256.png?rev=3745071)

# HDWebmobile Formula Pricing

 By [HDWebMobile](https://profiles.wordpress.org/htrxuan/)

[Download](https://downloads.wordpress.org/plugin/hdwebmobile-formula-pricing.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/hdwebmobile-formula-pricing/#description)
 * [Reviews](https://wordpress.org/plugins/hdwebmobile-formula-pricing/#reviews)
 *  [Installation](https://wordpress.org/plugins/hdwebmobile-formula-pricing/#installation)
 * [Development](https://wordpress.org/plugins/hdwebmobile-formula-pricing/#developers)

 [Support](https://wordpress.org/support/plugin/hdwebmobile-formula-pricing/)

## Description

HDWebmobile Formula Pricing lets customers enter measurements or quantities on the
product page, and prices the product live from a formula you write using those field
names (e.g. `10 + width * height * 0.05` for a custom-cut material priced by area).
This is a common real need for stores selling custom-sized fabric, framed prints,
engraved items, or anything priced by dimension or quantity, not just a flat number.

#### Security by design

The simplest way to implement formula-based pricing — passing the merchant’s formula
text straight into PHP’s `eval()` at calculation time — is also the most dangerous:
it turns any formula input into a remote code execution path. This plugin closes
that entire vulnerability class by construction:

 * The formula is tokenized character-by-character into a strict set of allowed 
   pieces: numbers, your own configured field names, and the four arithmetic operators
   plus parentheses. Anything else in the formula text — any other letter sequence,
   any function-call-looking pattern, any special character — causes the formula
   to be rejected outright when you save it.
 * The token stream is evaluated by a small hand-written arithmetic parser. There
   is no `eval()`, no `create_function()`, no dynamic function dispatch of any kind
   anywhere in this plugin — the only operations that can ever run are addition,
   subtraction, multiplication, and division of plain numbers.
 * The customer-facing live price preview also never exposes your formula to the
   browser: it’s computed by an AJAX call back to your own server, through the exact
   same safe evaluator used at checkout, so the formula text itself is never sent
   to a visitor’s browser.
 * The real price used at checkout is always recomputed server-side from the product’s
   own stored fields and formula — never trusted from what the browser submitted.

#### Key Features

 * Add up to 6 numeric input fields per product (label, variable name, min/max bounds,
   default value)
 * Write a formula referencing those fields by name — validated for safety the moment
   you save it
 * Live price preview on the product page as the customer types, computed server-
   side
 * Optional minimum/maximum price clamps, so no combination of inputs can produce
   an unreasonable price
 * Every field’s min/max bounds are enforced again server-side at add-to-cart time,
   not just in the browser
 * Field values show on the cart, checkout, and order screens exactly as entered

#### Limitations (please read before installing)

 * Simple products only in this version — no variable-product support
 * Formulas support only +, -, *, /, and parentheses (no exponents, square roots,
   or conditional logic) — deliberately, since a richer grammar is a larger safety
   surface to get right
 * No formula “test” button in the admin beyond the save-time validation — if a 
   formula is rejected, the error message names exactly what’s wrong (an unknown
   variable, a bad character, division by zero with the values you tried)
 * Requires a Regular Price to be set on the product (even a nominal placeholder)—
   this is standard WooCommerce behavior for any product with no price at all, not
   something this plugin can work around

#### Enjoying this plugin?

If it helps your site, please consider [leaving an honest review on WordPress.org](https://wordpress.org/support/plugin/hdwebmobile-formula-pricing/reviews/#new-post)—
it helps other WordPress users find it. Found a problem or have an idea? Please 
[open a support topic](https://wordpress.org/support/plugin/hdwebmobile-formula-pricing/)
first so it can be fixed.

### How to Use

#### 1. Add your input fields

On a simple product’s “Formula Pricing” tab, click “+ Add Field” for each number
the customer should enter (e.g. “Width in cm” with variable name `width`). Set a
minimum, an optional maximum, and a default value for each.

#### 2. Write the formula

In the Formula box, write an expression using your field names exactly as shown,
e.g. `10 + width * height * 0.05`. Save the product — if the formula uses anything
other than your field names, numbers, and `+ - * / ( )`, you’ll see exactly what’s
wrong and the formula won’t be saved until it’s fixed.

#### 3. What the customer sees

The product page shows your input fields above the Add to Cart button, with a live
estimated price that updates as they type. The real price is confirmed the moment
the product is actually added to the cart.

#### 4. Keeping prices sane

Set an optional minimum and/or maximum price on the same tab — no matter what a 
customer enters (within their allowed field ranges), the final price is clamped 
to stay within those bounds.

## Screenshots

[⌊The Formula Pricing tab on a product's edit screen -- fields and formula configuration.⌉⌊
The Formula Pricing tab on a product's edit screen -- fields and formula configuration
.⌉[

The Formula Pricing tab on a product’s edit screen — fields and formula configuration.

[⌊The customer-facing input fields and live price preview on the product page.⌉⌊
The customer-facing input fields and live price preview on the product page.⌉[

The customer-facing input fields and live price preview on the product page.

[⌊A cart line item showing the entered measurements alongside the computed price.⌉⌊
A cart line item showing the entered measurements alongside the computed price.⌉[

A cart line item showing the entered measurements alongside the computed price.

## Installation

 1. Upload the plugin files to the `/wp-content/plugins/hdwebmobile-formula-pricing`
    directory, or install the plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress. WooCommerce must
    already be installed and active.
 3. Edit a simple product, open its new “Formula Pricing” tab under Product Data, add
    your fields and formula.
 4. On the product’s “General” tab, set a Regular Price — WooCommerce hides the entire
    purchase form on a product with no price at all, even with formula pricing enabled,
    so enter at least a nominal placeholder amount (it will be overridden the moment
    a customer enters a value).

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“HDWebmobile Formula Pricing” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ HDWebMobile ](https://profiles.wordpress.org/htrxuan/)

[Translate “HDWebmobile Formula Pricing” into your language.](https://translate.wordpress.org/projects/wp-plugins/hdwebmobile-formula-pricing)

### Interested in development?

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

## Changelog

#### 1.0.0

 * Initial release: per-product numeric input fields, safe formula evaluation via
   a hand-written tokenizer and recursive-descent parser (no eval()), server-side
   live price preview via AJAX, min/max price clamping, field values shown on cart/
   checkout/order screens.

## Meta

 *  Version **1.0.0**
 *  Last updated **3 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.9 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [calculator](https://wordpress.org/plugins/tags/calculator/)[Custom Pricing](https://wordpress.org/plugins/tags/custom-pricing/)
   [dynamic pricing](https://wordpress.org/plugins/tags/dynamic-pricing/)[formula](https://wordpress.org/plugins/tags/formula/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/hdwebmobile-formula-pricing/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/hdwebmobile-formula-pricing/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/hdwebmobile-formula-pricing/reviews/)

## Contributors

 *   [ HDWebMobile ](https://profiles.wordpress.org/htrxuan/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/hdwebmobile-formula-pricing/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://paypal.me/htrxuan/20)