Build Responsive WordPress Forms Without the Frontend Bloat

A focused WordPress form builder for real-world websites

Create contact forms, lead forms, project inquiries, applications, feedback forms, and structured intake workflows without writing form markup. Add the fields you need, arrange them visually, configure the submission experience, and publish the result with a shortcode.

BBA Form Builder keeps the public side lean while giving administrators the practical tools needed to receive, organize, and export submissions inside WordPress.

BBA Form Builder visual WordPress form builder plugin

Main features

Visual drag-and-drop builder

Responsive column layouts

AJAX submission and validation

Flexible email notifications

Entries and CSV export

Uploads and spam controls

Fields for simple and detailed forms

Start with a small contact form or combine standard, choice, advanced, layout, and content fields into a detailed workflow.

See the complete workflow

Build the form, configure notifications, publish it on the frontend, and manage captured values from WordPress.

Drag-and-drop WordPress form builder with responsive two-column fields
Responsive contact form created with BBA Form Builder on the frontend

Popular ways to use BBA Form Builder

Contact and lead forms

Capture names, email addresses, phone numbers, messages, service interests, budgets, and timelines.

Applications and intake

Collect structured answers, dates, choice selections, longer descriptions, and approved document uploads.

Requests and feedback

Build quote requests, consultation requests, support forms, customer feedback, and internal business workflows.

File submission forms

Accept selected document and image formats while enforcing server-side MIME and size restrictions.

User documentation

This guide covers installation, form creation, publishing, entries, email delivery, privacy, file uploads, and common troubleshooting.

Requirements

  • WordPress 6.5 or later
  • PHP 8.0 or later
  • JavaScript enabled for AJAX submissions
  • A working WordPress mail transport for email notifications

1. Install and activate

In WordPress, open Plugins → Add New Plugin, search for BBA Form Builder, select Install Now, and then activate it. You can also upload the plugin ZIP manually. After activation, open BBA Forms in the dashboard.

2. Create a form

Select Create New Form, enter a descriptive name, and open the builder. Use a name you will recognize later, such as Contact Form, Project Inquiry, or Job Application.

3. Add and arrange fields

Open Add Fields, then click or drag field types onto the canvas. Reorder fields by dragging their cards. To create a multi-column row, add a Columns layout field, choose the arrangement, and drag normal input fields into its columns.

Columns are layout containers only. The fields inside them are saved and displayed as normal submission data.

4. Configure each field

  • Field Label: the visible name above the input.
  • Placeholder: optional guidance inside the input.
  • Description / Help Text: supporting instructions near the field.
  • Required Field: requires a valid value before submission.
  • Default Value: pre-populates the field where supported.
  • Field Meta Key: the unique storage and email-placeholder key.
  • Custom CSS Classes: adds project-specific styling hooks.
  • Choice Options: defines dropdown, radio, or checkbox values.

Keep every meta key unique. The builder generates unique keys automatically, including when a field is duplicated.

5. Choose the success action

Open Form Settings → General Settings. Set the submit-button label, then choose either a confirmation message on the current page or a redirect to a safe thank-you URL.

6. Configure email notifications

Open Form Settings → Email Notifications. Add one or more comma-separated recipients, a From name, a site-domain From address, an email subject, and an optional custom body.

Insert submitted values with a field meta key inside braces. For example, New inquiry from {text_1}. If the body is blank, the plugin sends a clean summary table of submitted values.

7. Save and embed the form

Save the form, open Form Settings → Embed & Shortcode, and copy the generated shortcode. Paste it into a WordPress Shortcode block, widget, or compatible template area.

[bbaform_form id="12"]

You can show multiple forms, or multiple instances of the same form, on one page. Validation and success messages remain inside the submitted instance.

8. Review and export submissions

Open BBA Forms → Entries, select a form, and review its submissions. Use the eye icon to open the complete record or select Export to CSV to download the selected form’s data.


Understanding email status

  • Accepted: WordPress handed the notification to its configured mail transport.
  • Failed: WordPress could not hand the message to its mail transport.
  • Not configured: the form had no valid notification recipient.
  • Not recorded: the entry predates mail-status tracking.

Accepted is not a delivery receipt. Inbox placement depends on the host or mail provider, sender authentication, reputation, and recipient filtering. For production sites, use authenticated SMTP or a transactional provider, publish SPF and DKIM records, add a monitored DMARC policy, and use a verified site-domain From address.

Submission data and privacy

Valid submissions are stored as private WordPress entry metadata. The plugin also stores the submitter’s IP address and browser user-agent string to support abuse investigation. Uploaded files are stored in the WordPress uploads directory.

Site owners should collect only necessary information, provide appropriate privacy and consent notices, restrict administrator access, define a retention policy, and protect database backups and uploaded files.

File upload defaults

Default accepted formats are JPEG, PNG, GIF, WebP, PDF, TXT, DOC, and DOCX. The maximum is 5 MB or the lower WordPress server limit. Developers can adjust these restrictions with the bbaform_allowed_upload_mimes and bbaform_max_upload_size filters.

Custom styling

Add custom CSS classes in a field’s options and style them through the active theme or a site-specific stylesheet. Use project-prefixed class names and test changes at desktop and mobile widths.


Troubleshooting

The form does not appear

  • Confirm the plugin is active and the form is published.
  • Check that the shortcode contains the correct numeric form ID.
  • Use a Shortcode-compatible block or content area.
  • Clear page, object, browser, and CDN caches.

The entry is saved but no email arrives

  • Confirm the recipient is valid and check the entry’s Email Status.
  • Review the spam folder and the mail provider’s activity log.
  • Configure authenticated SMTP and verify SPF, DKIM, and DMARC.
  • Remember that entry storage and email delivery are separate operations.

A file upload is rejected

  • Confirm the file extension and detected MIME type are allowed.
  • Confirm the file is no larger than 5 MB.
  • Check whether WordPress or the server has a lower limit.
  • Confirm the uploads directory is writable.

If a valid submission is temporarily rate-limited, wait at least one minute before trying again.

Designed with security in mind

Public submissions are checked with nonces, form-schema validation, field-level sanitization, upload restrictions, a honeypot, timing checks, and per-form/IP rate limiting. Administrative actions use WordPress capability checks and request verification.

CSV output neutralizes formula-like values to reduce spreadsheet formula-injection risk. Uploaded files are removed when their associated entries are permanently deleted through the plugin.

No plugin can replace secure hosting, updates, backups, least-privilege administration, authenticated email, and a suitable privacy policy. Use BBA Form Builder as one layer in a properly maintained WordPress website.

Frequently asked questions

Yes. BBA Form Builder is free, open-source software distributed under GPLv2 or later.

No. Published forms use dependency-free vanilla JavaScript.

Copy the generated shortcode from Form Settings → Embed & Shortcode and paste it into a WordPress Shortcode block or another shortcode-compatible area.

Yes. Each rendered instance receives its own container, so validation and success messages remain associated with the submitted instance.

Yes. Add a Columns layout field and place normal fields inside it. Equal, asymmetric, and three-column arrangements are available.

Text, textarea, number, email, phone, dropdown, radio, checkbox, date, file upload, hidden, paragraph, divider, and responsive columns are included.

Yes. Valid submissions are stored as private plugin-managed entries that administrators can review, export, or permanently delete.

Yes. Select a form on the Entries screen and export its submission data to CSV.

No. Accepted means WordPress handed the message to its configured transport. The receiving provider still decides whether to deliver, defer, reject, or classify it as spam.

Yes, when a File Upload field is added. Uploads are restricted by extension, detected MIME type, and size.

When the entry is permanently deleted through the plugin, its associated uploaded file is also removed.

Yes. It includes honeypot, timing, and rate-limiting checks plus server-side validation. It does not currently display a CAPTCHA challenge.

Yes. Choose the redirect option in General Settings and enter the desired thank-you URL.

Yes. Use the bbaform_allowed_upload_mimes and bbaform_max_upload_size WordPress filters.

Build your next WordPress form with less friction

Create responsive forms visually, publish them with a shortcode, and manage every valid submission from WordPress.