Marketing · Elementor

Pricing Calculator widget for Elementor

A quote calculator with parameters (quantity, options) that updates a total on the page.

Open live demo

Get King Addons

This page describes the PHP/JS for this widget — not a renamed stub. Install the free plugin from WordPress.org.

Get King Addons

What it actually does

A quote calculator with parameters (quantity, options) that updates a total on the page.

Register Pro-only controls (placeholder). Pro overrides this method to add premium controls without using parent::register_controls().

render() writes HTML data attributes: data-base-price, data-decimal-places, data-decimal-separator, data-field-id, data-field-type, data-price, data-price-prefix, data-price-suffix.

Some inspector controls are marked Pro in PHP (eicon-pro-icon / king-addons-pro-control). Those need King Addons Pro, not Elementor Pro.

The widget script reads data attributes: data-conditional-rules, data-field-id.

Visitor state is stored in localStorage, not in post meta.

How to add it in Elementor

  1. Install King Addons. Install Elementor and King Addons. Get King Addons from WordPress.org.
  2. Edit with Elementor. Open a page and click Edit with Elementor.
  3. Insert the widget. Search the panel for “Pricing Calculator”. Typing “king” lists every King Addons widget.
  4. Set inspector controls from this widget’s PHP. Configure “Calculator Title”, “Description”, “Field Type”, “Field Label”. Style and Content tabs are listed on this page.

When to use it

Tip: After King Addons is active, type king in the Elementor search box to list every widget, including Pricing Calculator.

Inspector controls from this widget’s PHP

ControlWhat the code does
Pricing Calculator — Calculator TitlePrinted in the widget HTML from render().
Pricing Calculator — DescriptionPrinted in the widget HTML from render().
Calculator Fields — Field TypeOptions: Number Input; Range Slider; Dropdown Select; Radio Buttons; Checkbox; Toggle Switch.
Calculator Fields — Field LabelText inspector control (`field_label`).
Calculator Fields — Field IDSet a unique ID for this field to use in formulas and conditions. Leave empty for auto-generated ID.
Calculator Fields — DescriptionText inspector control (`field_description`).
Calculator Fields — Unit LabelText inspector control (`field_unit`).
Calculator Fields — Minimum ValueNumeric control (default 0).
Calculator Fields — Maximum ValueNumeric control (default 100).
Calculator Fields — StepNumeric control (default 1, min 0.01).
Calculator Fields — Default ValueNumeric control (default 0).
Calculator Fields — Options (Value|Label|Price)Enter one option per line in format: value|label|price.
Calculator Fields — Checkbox ValueNumeric control (default 10).
Calculator Fields — Price CalculationCustom formula calculation is available in the Pro version. You can reference fields by their Field ID in custom formulas.
Calculator Fields — Price AmountNumeric control (default 10).
Calculator FieldsRepeater rows; render() loops each item to build the list or slides.
Calculation Settings — Base PriceStarting price before any calculations.
Calculation Settings — Price PrefixWritten to the `data-price-prefix` HTML attribute in render().
Calculation Settings — Price SuffixWritten to the `data-price-suffix` HTML attribute in render().
Calculation Settings — Decimal PlacesNumber of decimal places to display.
Calculation Settings — Thousand SeparatorWritten to the `data-thousand-separator` HTML attribute in render().
Calculation Settings — Decimal SeparatorWritten to the `data-decimal-separator` HTML attribute in render().
Calculation Settings — Live CalculationUpdate price automatically when fields change.
Calculation Settings — Enable Calculate ButtonSwitcher inspector control (`enable_calculate_button`).
Calculation Settings — Calculate Button TextPrinted in the widget HTML from render().
Summary & Results — Show Calculation SummaryDisplay breakdown of calculation.
Summary & Results — Summary TitlePrinted in the widget HTML from render().
Summary & Results — Total LabelPrinted in the widget HTML from render().
Container — PaddingWrites CSS `padding` onto the widget’s front-end markup.
Container — MarginWrites CSS `margin` onto the widget’s front-end markup.
Container — BackgroundElementor background group: classic color/image or gradient on the selector. Selector: `{{WRAPPER}} .king-pricing-calculator`.
Container — BorderElementor border group: type, width, color, and radius when the group includes it. Selector: `{{WRAPPER}} .king-pricing-calculator`.
Container — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.
Container — Box ShadowElementor box-shadow group for the selector. Selector: `{{WRAPPER}} .king-pricing-calculator`.
Title & Description — Title ColorWrites CSS `color` onto the widget’s front-end markup.
Title & Description — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__title`.
Title & Description — Title MarginWrites CSS `margin` onto the widget’s front-end markup.
Title & Description — Description ColorWrites CSS `color` onto the widget’s front-end markup.
Title & Description — Typography (Description Typography)Elementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__description`.
Title & Description — Description MarginWrites CSS `margin` onto the widget’s front-end markup.
Fields — Fields SpacingWrites CSS (field, margin-bottom) onto the widget’s front-end markup. (min 0, max 100).
Fields — Label ColorWrites CSS `color` onto the widget’s front-end markup.
Fields — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__field-label`.
Fields — Label MarginWrites CSS `margin` onto the widget’s front-end markup.
Fields — Description ColorWrites CSS `color` onto the widget’s front-end markup.
Fields — Typography (Field Description Typography)Elementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__field-description`.
Fields — Description MarginWrites CSS `margin` onto the widget’s front-end markup.
Fields — Input PaddingWrites CSS `padding` onto the widget’s front-end markup.
Fields (Normal) — Text ColorWrites CSS (input, color) onto the widget’s front-end markup.
Fields (Normal) — Background ColorWrites CSS `background-color` onto the widget’s front-end markup.
Fields (Normal) — BorderElementor border group: type, width, color, and radius when the group includes it. Selector: `{{WRAPPER}} .king-pricing-calculator__field input, {{WRAPPER}} .king-pricing-calculator…`.
Fields (Normal) — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.
Fields (Normal) — Box ShadowElementor box-shadow group for the selector. Selector: `{{WRAPPER}} .king-pricing-calculator__field input, {{WRAPPER}} .king-pricing-calculator…`.
Fields (Focus) — Text ColorWrites CSS (input, select, color) onto the widget’s front-end markup.
Fields (Focus) — Background ColorWrites CSS (input, select, background-color) onto the widget’s front-end markup.
Fields (Focus) — Border ColorWrites CSS (input, select, border-color) onto the widget’s front-end markup.
Fields (Focus) — Box ShadowElementor box-shadow group for the selector. Selector: `{{WRAPPER}} .king-pricing-calculator__field input:focus, {{WRAPPER}} .king-pricing-calc…`.
Fields — Typography (Input Typography)Elementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__field input, {{WRAPPER}} .king-pricing-calculator…`.
Fields — Arrow ColorColor written to this widget’s CSS selector.
Fields — Arrow SizeSpacing/size control (min 6, max 30).
Fields — Arrow Right OffsetSpacing/size control (min 0, max 40).
Fields — Accent ColorColor written to this widget’s CSS selector.
Fields — Radio SizeSpacing/size control (min 10, max 40).
Fields — Options SpacingSpacing/size control (min 0, max 40).
Fields — Label SpacingSpacing/size control (min 0, max 40).
Fields — Label Color (Radio Label Color)Writes CSS `color` onto the widget’s front-end markup.
Fields — Typography (Radio Label Typography)Elementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__radio-option label`.
Fields — BackgroundElementor background group: classic color/image or gradient on the selector. Selector: `{{WRAPPER}} .king-pricing-calculator__radio-group`.
Fields — BorderElementor border group: type, width, color, and radius when the group includes it. Selector: `{{WRAPPER}} .king-pricing-calculator__radio-group`.
Fields — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.
Fields — PaddingWrites CSS `padding` onto the widget’s front-end markup.
Fields — Track ColorColor written to this widget’s CSS selector.
Fields — Progress ColorColor written to this widget’s CSS selector.
Fields — Thumb ColorColor written to this widget’s CSS selector.
Fields — Thumb Hover ColorColor written to this widget’s CSS selector.
Fields — Thumb Border ColorColor written to this widget’s CSS selector.
Fields — Thumb Border Hover ColorColor written to this widget’s CSS selector.
Fields — Thumb Border WidthSpacing/size control (min 0, max 10).
Fields — Track HeightSpacing/size control (min 1, max 20).
Fields — Thumb SizeSpacing/size control (min 10, max 40).
Fields — Thumb Animation DurationSpacing/size control (min 0, max 2).
Fields — ColorWrites CSS `color` onto the widget’s front-end markup.
Fields — Typography (Range Slider Value Number Typography)Elementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__range-value-display .king-pricing-calculator__ran…`.
Fields — Color (Range Slider Value Unit Color)Writes CSS `color` onto the widget’s front-end markup.
Fields — Typography (Range Slider Value Unit Typography)Elementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__range-value-display .king-pricing-calculator__fie…`.
Fields — SpacingSpacing/size control (min 0, max 50).
Calculate Button — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__calculate-button`.
Calculate Button — PaddingWrites CSS `padding` onto the widget’s front-end markup.
Calculate Button — MarginWrites CSS `margin` onto the widget’s front-end markup.
Calculate Button (Normal) — Text ColorWrites CSS `color` onto the widget’s front-end markup.
Calculate Button (Normal) — BackgroundElementor background group: classic color/image or gradient on the selector. Selector: `{{WRAPPER}} .king-pricing-calculator__calculate-button`.
Calculate Button (Normal) — BorderElementor border group: type, width, color, and radius when the group includes it. Selector: `{{WRAPPER}} .king-pricing-calculator__calculate-button`.
Calculate Button (Normal) — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.
Calculate Button (Normal) — Box ShadowElementor box-shadow group for the selector. Selector: `{{WRAPPER}} .king-pricing-calculator__calculate-button`.
Calculate Button (Hover) — Text ColorWrites CSS (calculate-button, color) onto the widget’s front-end markup.
Calculate Button (Hover) — BackgroundElementor background group: classic color/image or gradient on the selector. Selector: `{{WRAPPER}} .king-pricing-calculator__calculate-button:hover`.
Calculate Button (Hover) — Border ColorWrites CSS (calculate-button, border-color) onto the widget’s front-end markup.
Calculate Button (Hover) — Box ShadowElementor box-shadow group for the selector. Selector: `{{WRAPPER}} .king-pricing-calculator__calculate-button:hover`.
Calculate Button (Hover) — Transition DurationWrites CSS `transition` onto the widget’s front-end markup. (max 3).
Summary & Results — Summary Title ColorWrites CSS `color` onto the widget’s front-end markup.
Summary & Results — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__summary-title`.
Summary & Results — Summary Title MarginWrites CSS `margin` onto the widget’s front-end markup.
Summary & Results — BackgroundElementor background group: classic color/image or gradient on the selector. Selector: `{{WRAPPER}} .king-pricing-calculator__summary`.
Summary & Results — BorderElementor border group: type, width, color, and radius when the group includes it. Selector: `{{WRAPPER}} .king-pricing-calculator__summary`.
Summary & Results — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.
Summary & Results — PaddingWrites CSS `padding` onto the widget’s front-end markup.
Summary & Results — MarginWrites CSS `margin` onto the widget’s front-end markup.
Summary & Results — Item Text ColorWrites CSS `color` onto the widget’s front-end markup.
Summary & Results — Typography (Summary Item Typography)Elementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__summary-item`.
Summary & Results — Item SpacingWrites CSS (summary-item, margin-bottom) onto the widget’s front-end markup. (min 0, max 50).
Summary & Results — Total Label ColorWrites CSS `color` onto the widget’s front-end markup.
Summary & Results — Typography (Total Label Typography)Elementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__total-label`.
Summary & Results — Total Price ColorWrites CSS `color` onto the widget’s front-end markup.
Summary & Results — Typography (Total Price Typography)Elementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-pricing-calculator__total-price`.
Summary & Results — Background (Total Background)Elementor background group: classic color/image or gradient on the selector. Selector: `{{WRAPPER}} .king-pricing-calculator__total`.
Summary & Results — Border (Total Border)Elementor border group: type, width, color, and radius when the group includes it. Selector: `{{WRAPPER}} .king-pricing-calculator__total`.
Summary & Results — Border Radius (Total Border Radius)Writes CSS `border-radius` onto the widget’s front-end markup.
Summary & Results — Padding (Total Padding)Writes CSS `padding` onto the widget’s front-end markup.
Summary & Results — Margin (Total Margin)Writes CSS `margin` onto the widget’s front-end markup.

Content and Style tabs from this widget’s PHP, including repeater fields and group controls (typography, background, border, shadow). Elementor’s Advanced tab is core Elementor and is not listed here.

FAQ

Which Pricing Calculator options need King Addons Pro?

Controls marked with the Pro icon in this widget’s PHP. King Addons Pro is a separate license from Elementor Pro.

Does Pricing Calculator require WooCommerce?

Yes. This widget reads WooCommerce products, cart, or account objects. Install WooCommerce and add data before the widget has anything to show.

How do I add Pricing Calculator in Elementor?

Install King Addons and Elementor, edit a page, search the panel for “Pricing Calculator”, drag it onto the canvas, then set Content and Style.

Do I need Elementor Pro?

No. King Addons runs on free Elementor. Some King Addons options (for example template-in-accordion, extra popup conditions, parts of the template catalog) need King Addons Pro — not Elementor Pro.

Related marketing widgets

Get King Addons

One free plugin. 80+ Elementor widgets, 650+ templates, and 4,000+ sections. Search for Pricing Calculator after you activate it.

Get King Addons