Description
ShahCalc lets you build interactive calculators (loan and mortgage payments, ROI, pricing quotes, fitness and health figures and more) without writing code. Define the inputs, assemble a formula visually, style the result, and embed it with a shortcode, a Gutenberg block or an Elementor widget.
How it works
- Visual builder. Add number fields, sliders, dropdowns and checkboxes. Build the formula by clicking fields and operators, or type it. The builder validates the formula as you go and shows a live preview at desktop, tablet and mobile widths.
- Safe formula engine. Formulas are parsed into an abstract syntax tree and evaluated by walking that tree. Formula text is never executed as code: there is no
eval()and nonew Function(), on the server or in the browser. Supported:+ - * / ^, parentheses, numbers and field IDs. - Vanilla JavaScript. No jQuery and no charting library. Results update as visitors type, with an animated count-up and a small SVG chart.
- Style isolation. Each calculator renders inside a Shadow DOM, so theme CSS does not restyle it and its CSS does not leak into your theme. Colors, borders, radius, typography and spacing are configured through a fixed set of CSS custom properties.
- Gutenberg block. Search for “ShahCalc” in the block inserter.
- Elementor widget. Pick a calculator and style it from the Elementor Style tab. Elementor is optional.
- Shareable results. Visitors’ inputs are reflected in the page URL (query string) so a specific result can be bookmarked or shared.
- Loads only where needed. The front-end scripts are enqueued only on pages that actually display a calculator.
Who can manage calculators? Administrators only (the manage_options capability). Published calculators are visible to all visitors; drafts are visible only to people who can edit them.
Usage
- Go to ShahCalc in the admin menu and click Create New (you can start from a template).
- Add fields, build the formula, style the calculator and click Save Calculator.
- Embed it with
[shahcalc id="123"], the ShahCalc block, or the ShahCalc Elementor widget.
Shortcode attributes: id (required), show_title (true or false, overrides the calculator’s own setting).
Privacy
ShahCalc does not set cookies, does not store visitor data, and does not contact any external service. The shareable-URL feature writes the values a visitor types into their own browser’s address bar. If your analytics or server logs record full page URLs, those values will be recorded too.
Source code
The complete, human-readable source, including the unminified React (JSX) sources for the compiled files in the build/ directory, is public on GitHub: https://github.com/Junaidshah1234/shahcalc
To rebuild the compiled files: clone the repository, run npm ci, then npm run build. The build uses @wordpress/scripts; the entry points are src/builder.jsx, src/dashboard.jsx and src/block.jsx. The scripts in public/js/ are not compiled and are shipped as written.
Screenshots




Blocks
This plugin provides 1 block.
- ShahCalc
Installation
- Upload the
shahcalcfolder to/wp-content/plugins/, or install it from Plugins > Add New. - Activate the plugin through the Plugins screen.
- Open ShahCalc in the admin menu to create your first calculator.
FAQ
-
Does ShahCalc use jQuery?
-
No. The front end is vanilla JavaScript.
-
Is it safe to let formulas run in the browser?
-
Yes. Formulas are parsed and evaluated by a small purpose-built parser that supports only arithmetic. They are also validated on the server before they are saved, and validated again when a calculator is rendered.
-
Will my theme’s CSS change how the calculator looks?
-
Theme rules for elements inside the calculator do not apply, because it renders in a Shadow DOM. Inherited properties (such as the page’s font family, unless you set one in ShahCalc) still flow in, which is normal for Shadow DOM. Browsers without declarative Shadow DOM support get the same result through a small JavaScript fallback.
-
Can contributors or editors create calculators?
-
No. Creating and editing calculators requires the
manage_optionscapability. -
Does it work without Elementor?
-
Yes. The shortcode and the Gutenberg block work on their own. The Elementor widget appears only when Elementor is active.
-
What happens to my calculators if I uninstall the plugin?
-
Calculators are stored as a custom post type and are left in your database so they are not lost by accident. Note that an
[shahcalc]shortcode left on a page will appear as plain text once the plugin is removed.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“ShahCalc – Visual Calculator Builder” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “ShahCalc – Visual Calculator Builder” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.1
- Renamed the plugin from OmniCalc to ShahCalc (name/slug/text-domain) at the request of the WordPress.org Plugin Review Team.
- Replaced the raw
<style>tag used inside the calculator’s Shadow DOM with a stylesheet registered and enqueued viawp_register_style()/wp_enqueue_style().
1.0.0
- Initial release.
