Skip to content
GPLWP Guides

How to create forms in WordPress

Forms Time About 20 minutes 6 steps Updated 29 Sep 2026

FORMS
The short answer

You can create a basic form with WordPress’s Form block, but a form plugin is usually needed for saved entries, reliable notifications, spam protection, conditional logic or integrations. Build the fields, configure where submissions go, publish the form, then submit a test from the front end.

The route
  1. 01Plan the form and destination
  2. 02Choose the manual route
  3. 03Install a form builder plugin
  4. 04Configure notifications and protection
  5. 05Publish and test the form
  6. 06Use the fast way for complex forms

What you need

  • A WordPress site with admin access
  • A page where the form will appear
  • An email address on your site domain for notifications
  • A clear list of the fields and questions you need

Plan the form and destination

Write down the information you actually need before adding fields. A simple contact form normally needs a name, email address, message and submit button. Add only fields that help you respond, because longer forms usually receive fewer completed submissions.

Decide whether submissions should arrive by email, be stored in the WordPress dashboard, or be sent to another service. If you need uploads, payments, multi-step screens, conditional questions or a searchable entry list, plan to use a full form plugin rather than a basic block.

Choose the manual route

If your editor provides a Form block, open the page where you want the form and add it from the block inserter. Add the required input fields, choose suitable field types such as email or textarea, add a submit button and include a submission notification.

The core Form block is a useful option for a small, basic form, but its documented submission settings centre on sending entries by email and the block is marked experimental in the developer documentation. It is not the best choice when you need stored entries, advanced validation, conditional logic or integrations.

Install a form builder plugin

For most business forms, go to Plugins → Add New, search for a form builder, install it and activate it. Open the plugin’s form area and choose Add new or the equivalent option.

Use the builder to add labels, required fields, validation and a clear success message. Keep field names meaningful so notification emails and stored entries are easy to understand. Do not assume that installing a plugin automatically creates a visible form on a page; you normally still need to insert its block or shortcode.

Configure notifications and protection

Open the form’s notification settings and enter the address that should receive submissions. Use an address on your website’s domain as the sending address, and put the visitor’s email in the reply-to field where the builder supports it. Some email providers reject or filter messages when the From address does not match the site’s mail settings.

Turn on the plugin’s available spam protection, such as CAPTCHA, a honeypot or rate limiting. If CAPTCHA causes a form to stop submitting, check the site keys, domain settings and browser console before disabling all protection; misconfigured CAPTCHA is a recurring cause of failed submissions.

Publish and test the form

Insert the form’s block or shortcode into the target page, save the page and view it while logged out. Submit it with realistic test data, including an invalid email address and any required fields, then confirm the success message, notification email and stored entry if the plugin provides one.

Test on a phone as well as a desktop. If the form appears to submit but no message arrives, check the spam folder and notification address first. WordPress mail delivery can fail because of hosting configuration or unauthenticated sending, so configure an SMTP mailer and send a separate test email if needed.

Use the fast way for complex forms

For the quickest setup, install SigmaForms Pro, describe the form you want in plain language, and let it generate the fields, labels and structure. Review every generated field, mark the genuinely required ones, set the notification recipient and insert the finished form using its Gutenberg block or Elementor widget.

This is most useful for forms with conditional logic, calculated fields, multiple steps, payments or connections to services such as Mailchimp, Google Sheets, Slack, Zapier, HubSpot, Stripe or PayPal. You still need to test the live form and email delivery before relying on it.

The fast route

Let SigmaForms Pro do it

AI-generated forms from plain-language prompts, with advanced logic and integrations for faster setup than standard builders.

Get SigmaForms Pro

Tools that do this job

All of these solve the task above. They are listed as we have covered them.

Our pick
SigmaForms Pro

AI-generated forms from plain-language prompts, with advanced logic and integrations for faster setup than standard builders.

Get it
Gravity Forms

Drag-and-drop builder with conditional logic, multi-page forms, payments, uploads, and integrations for comprehensive form creation.

Get it

Sources

  1. developer.wordpress.org /block-editor/reference-guides/core-blocks/core-blocks-widge…
  2. wpforms.com /docs/setup-form-notification-wpforms/?utm_source=openai
  3. wordpress.org /support/topic/contact-form-google-recaptcha-issue-form-not-…
  4. wordpress.org /support/topic/not-getting-emails-through-wp-forms/?utm_sour…

Questions

Can I create a form in WordPress without a plugin?
Yes, if your WordPress editor provides the core Form block, you can create a basic email form without installing another plugin. Add the block, create the fields and submit button, set the notification email and publish the page. This route is limited, though, and is not suitable when you need stored submissions, advanced logic, payments, uploads or third-party integrations.
Why is my WordPress form not sending emails?
The most common causes are an incorrect notification address, messages landing in spam, unauthenticated WordPress email or a hosting server that does not reliably send mail. Check the form notification settings, send a WordPress or SMTP test email, and use an address on your site domain as the From address. Configure SMTP if ordinary WordPress mail is unreliable.
Should I use CAPTCHA on a WordPress form?
Use spam protection when a public form attracts unwanted submissions, but choose the least disruptive option that works for your audience. CAPTCHA keys must match the site and the selected CAPTCHA type; incorrect keys can prevent legitimate submissions. A honeypot, rate limit or built-in anti-spam feature may be preferable for a short contact form, with CAPTCHA added if spam continues.
Where are WordPress form submissions stored?
That depends on the form method you use. A basic Form block is documented around email submission, while form plugins differ: some send notifications only, and others store entries in the WordPress dashboard. Check the plugin’s entries or submissions area after your first test, and do not assume that an email notification means a recoverable copy is stored on the site.