Blog

A WordPress Contact Form Without a Plugin

You don't need a forms plugin to add a working contact form to WordPress. Here's how to drop a plain HTML form into a page or template and point it at a FormBridge endpoint.

← Back to the blog
AI Powered

Explore this article with AI

Get an instant summary, key takeaways, action items, and answers to your questions about this article.

Choose your AI assistant
ChatGPT Perplexity
Quick answer

A working WordPress contact form doesn't require a plugin — a plain HTML form added via a Custom HTML block or template file, with its action pointed at a FormBridge endpoint, handles notifications, autoresponders, spam filtering, and file uploads without installing anything.

Skipping the plugin entirely

Every WordPress forms plugin adds the same things: a settings screen, its own database tables, front-end CSS and JS enqueued on every page that has a form, and a permanent line item in your update queue. For a single contact form, that's a lot of surface area for something a plain HTML form can do on its own.

The whole setup

Add the form directly to a page (via a Custom HTML block in the block editor) or into a template file if you're working in a child theme, and point its action at a FormBridge endpoint:

<form action="https://app.formbridge.ai/api/forms/fb_8h2k9p" method="POST">
  <input name="full-name" placeholder="Full name" />
  <input name="email" type="email" placeholder="Email" />
  <textarea name="message" placeholder="Message"></textarea>
  <button type="submit">Send</button>
</form>

No shortcode, no plugin settings page, no PHP mail configuration to get right — the form posts straight to FormBridge, which handles delivery.

Why this holds up as a real contact form, not just a demo

Field names are yours to choose

FormBridge doesn't require a naming convention — full-name, email, and message above are just descriptive names, not something you register anywhere first. Hyphenated names are recommended because they get auto-formatted for display and turned into a merge tag automatically, but any name works.

Setting it up

  1. Create a form endpoint and copy its URL.
  2. Paste the HTML form into a Custom HTML block or your template file.
  3. Set notification recipients and, optionally, an autoresponder.
  4. Enable spam protection layers from the form's settings if you're getting unwanted traffic.

Frequently asked

Do form field names need to match a WordPress convention?

No. FormBridge accepts any descriptive field name — hyphenated names like full-name are recommended because they're auto-formatted for display and become merge tags automatically, but nothing has to be registered in advance.

Can this handle file uploads without a plugin too?

Yes — add enctype="multipart/form-data" and a file input to the form; FormBridge accepts the upload with no separate configuration.

Key facts

  • A plain HTML form posted to a FormBridge endpoint requires no WordPress plugin, shortcode, or PHP mail configuration.
  • FormBridge scores every submission for spam automatically, with optional honeypot, CAPTCHA, and authorized domains layered on top.
  • Submissions can be exported to CSV directly from the FormBridge inbox.

Get the next one in your inbox.

One email when we publish something worth reading. No spam — appropriately enough, we'd know.