Linux 软件免费装
Banner图

Quoteform – Quote & Cost Calculator Form

开发者 miratnasrullayev
更新时间 2026年11月3日 14:14
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPL-2.0-or-later
版权网址: 版权信息

标签

price calculator cost calculator multi-step form quote calculator quote form

下载

0.1.2

详情介绍:

Quoteform is a quote and cost calculator form builder for one job: working out a price. A visitor picks a configuration — three rooms, two bathrooms, express turnaround — and sees an instant estimate. When they submit the form, the quote arrives on your Entries screen. That is a different problem from a contact form, and Quoteform is built for it rather than around it. Use it for a cleaning or moving quote, a printing or web design estimate, an event or rental price, or any service where the price depends on the answers. Conditional logic and multi-step forms are the two features that calculator plugins usually keep behind a paid upgrade. Here they are simply part of the plugin. The builder Showing a form to visitors A saved form can be placed on the site in three ways, and all three draw exactly the same form: On the page, the visitor moves through the steps with Back and Next. The total updates as they answer, fields and steps appear and disappear as the rules say they should, and a required field they can see has to be filled in before Next will move them on. On the last step the total is broken down into the calculations that make it up. Submissions and entries On the last step the visitor submits the form. The server then works out the price again from the answers alone. The browser never sends a total, so a visitor cannot change the price that gets stored. What this version does not do Quoteform does not send email notifications, does not take payments and does not let a visitor save a form and come back to it later. Entries are only on the Entries screen and in the CSV export. Formulas, without writing code Formulas are written in a small, deliberately limited expression language: {room_count} * 50 + {bathrooms} * 120 if({urgency} == "express", {subtotal} * 1.3, {subtotal}) round(max({subtotal}, 99), 2) The available functions are if, min, max, sum, round, ceil, floor, abs, contains and is_empty. The formula editor checks each formula as you type: it tells you where a formula is malformed, and when a formula refers to something the form does not have it says so — and if the name is close to one that does exist, it asks whether that is what you meant. Nothing is ever executed The expression language is not JavaScript and it is not PHP. Formulas are read by Quoteform's own parser into a syntax tree and evaluated one node at a time. PHP's eval() and JavaScript's eval() and Function() are not used anywhere in this plugin. The JavaScript that ships is checked before every release for every spelling of both — eval(), Function() and new Function() — so the promise is kept by a machine rather than by memory. Every form is validated again on the server when it is saved, no matter what the browser sent. Circular references between calculations are refused at save time rather than discovered later. Light on the front end The front-end script is under 10 KB gzipped and loads no framework: no React, no jQuery, no web fonts, no CDN. It is enqueued only on pages that actually contain a form. Free, and that is the whole plan No pro version, no add-ons, no license key, no account and no hosted service. Quoteform sends no data anywhere: it makes no request to any external server, loads no fonts or scripts from a CDN, and collects no usage statistics. Privacy Submitted entries stay in your own WordPress database. Each entry stores the answers, the calculated total and its breakdown, the date, the visitor's browser user agent and, if the visitor was logged in, their user ID. The visitor's IP address is stored only if you turn on Store the visitor's IP address with each entry in the form settings. It is off by default. The answers can contain personal data, such as a name or an email address, when your form asks for it. Mention this in your site's privacy policy.

安装:

  1. Install the plugin from the Plugins screen in WordPress, or upload the quoteform folder to wp-content/plugins/.
  2. Activate it on the Plugins screen.
  3. Open Quoteform in the admin menu and create your first form.
  4. Put the form on a page with the Quote form block, the [quoteform id="…"] shortcode or the Elementor widget.
Activating the plugin gives administrators three capabilities: They are deliberately separate from manage_options, so you can grant them to another role without handing over the rest of the site settings.

屏幕截图:

  • After the visitor submits the form, a message shows the final price.
  • Calculations are named formulas. The editor checks each formula as you type.
  • Each option of a choice field has its own price.
  • A rule shows or hides a field or a whole step, based on the answers.
  • The Entries screen lists every submitted quote. Filter the list and export it to CSV.
  • An entry shows each answer and the price breakdown.

常见问题:

Is it really free?

Yes. There is no paid version to upgrade to, no add-ons to buy, no license key to enter and no account to create. Nothing in the plugin is locked.

Can visitors submit the form?

Yes. The submission is stored as an entry in your WordPress database, and you see it under Quoteform → Entries. The price is calculated again on the server, so the stored total is always the one your formulas give.

Will I get an email when someone submits a form?

Not in this version. Check the Entries screen, or export the entries to CSV.

Do I need Elementor, Divi or a page builder?

No. The builder is an ordinary WordPress admin screen, and the shortcode and the block need nothing beyond WordPress itself. The Elementor widget is there for sites that already use Elementor.

My form is loaded by a popup or by AJAX and stays empty. What now?

A form that arrives after the page has finished loading has to be started. Call window.quoteform.boot() once the markup is in the page: window.quoteform.boot(); Pass an element to limit it to that part of the page — window.quoteform.boot( document.querySelector( '#my-popup' ) ). Calling it again is safe: a form that is already running is left alone.

Can a formula run arbitrary code?

No. Formulas are written in Quoteform's own small expression language, which has numbers, text, comparisons, arithmetic and ten named functions — and nothing else. They are parsed into a syntax tree and evaluated by the plugin. eval() is not used, in PHP or in JavaScript, anywhere in the plugin.

What happens to my forms if I deactivate the plugin?

Nothing is deleted. Forms are stored as WordPress posts, so they are still there when you activate the plugin again. Deactivating does not remove the capabilities it granted either, so a site that is temporarily switched off comes back exactly as it was.

And if I delete the plugin?

Deleting is not the same as deactivating. Deleting Quoteform permanently deletes every form you have made and every entry submitted to them, including forms in the trash, and removes qform_manage_forms, qform_view_entries and qform_export_entries from every role on the site. On a multisite network it does this on every site of the network, because the forms and the roles live on each site separately. Nothing is recoverable afterwards, so export your entries to CSV and copy anything else you want to keep before you click Delete.

Who can create and edit forms?

Anyone with the qform_manage_forms capability, which administrators get when the plugin is activated. The same capability is required by the REST endpoints under quoteform/v1 that the builder uses, so there is no way around it.

Which languages does it speak?

The interface is written in English and is fully translatable — every string in both the PHP and the JavaScript goes through WordPress's translation functions, and a .pot file ships in languages/.

更新日志:

0.1.3 0.1.2 0.1.1 0.1.0