[WordPress] 外掛分享: HDWebmobile Formula Pricing

首頁 › 外掛目錄 › HDWebmobile Formula Pricing
WordPress 外掛 HDWebmobile Formula Pricing 的封面圖片
全新外掛
安裝啟用
—
尚無評分
2 天前
最後更新
—
問題解決
WordPress 6.9+ PHP 7.4+ v1.0.0 上架:2026-10-12

內容簡介

HDWebmobile Formula Pricing 外掛讓顧客在產品頁面輸入尺寸或數量,並根據自訂公式即時計算產品價格,適合銷售依尺寸或數量定價的商品,如自訂布料、框架印刷品等。

【主要功能】
• 每個產品最多可新增 6 個數值輸入欄位
• 寫入安全驗證的公式,並即時預覽價格
• 伺服器端計算價格,避免瀏覽器端漏洞
• 可設定最小/最大價格限制,防止不合理價格
• 於購物車、結帳及訂單畫面顯示欄位值

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.0.0) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「HDWebmobile Formula Pricing」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

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 — it helps other WordPress users find it. Found a problem or have an idea? Please open a support topic 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.

延伸相關外掛

文章
Filter
Mastodon