WP Manifestindependent plugin directory
manifest / forms / forge-forms

Forge Forms

WordPress form builder with conditional logic, calculations, entries, and email notifications.

by Asher Faisal · github.com/ashar-dev19/forge-forms · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/ashar-dev19/forge-forms/archive/refs/heads/main.zip

Readme

Forge Forms

Free & open-source WordPress form plugin with a modern React builder, conditional logic, live calculations, entries, file uploads, and email notifications.

Inspired by WPForms, Gravity Forms, and Forminator — built to reuse on any WordPress site.


Features

  • React form builder — drag-and-drop fields, reorder, field settings
  • Conditional logic — show/hide fields with AND/OR rules
  • Calculations — live totals with formulas like {price} * {qty} (recomputed securely on the server)
  • Field types — text, textarea, email, number, phone, dropdown, radio, checkboxes, date, hidden, HTML, file upload, calculation, section, page break
  • Multi-page forms — page breaks with Previous / Next navigation
  • Drag-and-drop file uploads — dropzone UI with type/size validation
  • Entries — view, delete, and export CSV
  • Email notifications — merge tags ({all_fields}, {form_title}, {entry_id}, …)
  • Confirmations — success message or redirect
  • Spam basics — honeypot + nonces + light rate limiting
  • Embed anywhere — shortcode or Gutenberg block

Requirements

  • WordPress 6.2+
  • PHP 7.4+
  • (Optional for development) Node.js 18+ for rebuilding admin/frontend assets

Installation (end users)

Option A — Download ZIP

  1. Download the latest release ZIP from this repository (or clone and zip the plugin folder).
  2. In WordPress go to Plugins → Add New → Upload Plugin.
  3. Upload the ZIP, install, and activate Forge Forms.

Option B — Clone into plugins

cd wp-content/plugins
git clone https://github.com/ashar-dev19/forge-forms.git forge-forms

Then activate Forge Forms in Plugins.

Important: Do not upload node_modules. Built assets in assets/build/ are already included — the plugin works without running npm on your server.


Quick start

  1. Open Forge Forms in the WordPress admin sidebar.
  2. Click Add New Form.
  3. Add fields from the palette; configure labels, required, conditionals, or formulas.
  4. Open the Settings tab — set confirmation message and email notification.
  5. Click Save & Publish.
  6. Embed the form:
[forge_form id="1"]

Or insert the Forge Form block in the block editor and select your form.

  1. Submit on the front end, then check Forge Forms → Entries.

Shortcode

Shortcode Description
[forge_form id="123"] Renders published form with ID 123

Conditional logic

In a field’s settings, enable Conditional logic:

  • Action: Show or hide this field
  • Match: All rules (AND) or Any rule (OR)
  • Operators: is, is not, contains, greater than, less than, is empty, is not empty

Example: show a “Company name” field only when “Are you a business?” = Yes.


Calculations

Add a Calculation field (or enable calculation on a number field) and use a formula:

{field_price} * {field_qty} * (1 - {field_discount}/100)
  • Use field IDs in {braces} (shown in the builder under each field).
  • Supported operators: + - * / ( )
  • Values update live on the front end and are recalculated on the server so totals cannot be spoofed.

Email notifications

In form Settings → Email Notification:

Setting Example
Send to {admin_email} or you@example.com
Subject New form submission: {form_title}
Message {all_fields}

Merge tags

Tag Meaning
{all_fields} HTML list of submitted fields
{form_title} Form title
{entry_id} Entry ID
{date} Submission datetime
{admin_email} Site admin email
{field:FIELD_ID} Value of a specific field

Emails not arriving?

WordPress mail often fails on local environments (XAMPP, Local WP, etc.).

  1. Confirm notification is enabled and Send to is correct.
  2. Check Settings → General → Administration Email Address.
  3. Install WP Mail SMTP (or similar) and configure SMTP.
  4. Entries still save under Forge Forms → Entries even if email fails.

File uploads

  • Drag-and-drop or browse
  • Allowed: JPG, PNG, GIF, PDF, DOC, DOCX, TXT
  • Max size: 5MB
  • Stored via WordPress media upload handling

Development

git clone https://github.com/ashar-dev19/forge-forms.git
cd forge-forms
npm install
npm start      # watch / hot rebuild
npm run build  # production assets → assets/build/

Project structure

forge-forms/
├── forge-forms.php          # Plugin bootstrap
├── includes/                # PHP: REST, submit, logic, email, DB
├── admin/                   # Admin menu mount for React app
├── assets/
│   ├── src/admin/           # React builder
│   ├── src/frontend/        # Public form renderer (vanilla JS)
│   ├── src/block/           # Gutenberg block editor script
│   └── build/               # Compiled JS/CSS (shipped)
├── templates/               # Form + email HTML templates
└── package.json             # @wordpress/scripts build

REST API (overview)

Endpoint Auth Purpose
GET/POST /wp-json/forge-forms/v1/forms Admin List / create forms
GET/PUT/DELETE /wp-json/forge-forms/v1/forms/{id} Admin (GET public if published) Form CRUD
GET /wp-json/forge-forms/v1/entries Admin List entries
GET /wp-json/forge-forms/v1/entries/export?form_id= Admin CSV export data
POST /wp-json/forge-forms/v1/submit Public (+ form nonce) Submit entry

Hook after submit:

add_action( 'forge_forms_after_submit', function( $entry, $form ) {
    // Custom CRM / webhook logic
}, 10, 2 );

Privacy & security notes

  • Capability manage_options required for builder/entries
  • Public submit verified with form-specific nonce
  • Calculation results are never trusted from the browser
  • File MIME allowlist + size limit
  • Honeypot field available per form

Roadmap (ideas)

  • Payment gateways
  • Webhooks / Zapier-style integrations
  • PDF export
  • More notification rules per form

Contributions and ideas are welcome via issues and pull requests.


License

This plugin is free software released under the GNU General Public License v2 or later.

You may use it on unlimited sites, modify it, and share it — no purchase required.


Credits

Author: Asher Faisal

Built as an open form engine for the WordPress community.

Repository: https://github.com/ashar-dev19/forge-forms

Read the full README on GitHub →