Skip to content

How to Embed a WordPress Form

Built the form and now wondering how to place it on a page or post? GriffinForms gives you two embedding paths: the Gutenberg block for most modern WordPress editors and the shortcode for classic-editor, widget, or template placement. The 3.0.5.0 Publish flow also makes placement easier from All Forms. This guide explains when to use each one, what the editor preview can and cannot show, and what to test before you publish.

Choose the right way to embed a WordPress form

How do you embed a WordPress form after you finish building it? In most cases, use the Gutenberg block. If you are working in a classic editor, widget area, template, or another place where blocks are not the best fit, use the shortcode instead. GriffinForms 3.0.5.0 also adds a reusable Publish modal from the All Forms list so you can place the form without hunting for the shortcode first.

Quick answer: the GriffinForms Gutenberg block is the easiest way to place a form on a WordPress page or post, while the shortcode is the safer fallback for classic-editor and code-based placements. The block preview inside the editor is intentionally lightweight, so always test the real form on the frontend before publishing.

A few practical examples: use the Gutenberg block on a landing page where an editor needs to swap forms quickly, use the shortcode inside a theme template or classic editor area, and double-check the frontend when the form includes payments, multi-page navigation, or conditional logic.

Use the Gutenberg block for most page and post workflows

Use the block editor path when you are working in a normal WordPress page or post.

  1. Open the page or post in the WordPress block editor.
  2. Insert the GriffinForms Form block.
  3. Select the form from the block inspector.
  4. If needed, use the block toolbar shortcuts like Edit Form or Open Form Builder to jump back into form editing.

The block is usually the better fit for content editors because it keeps the form selection inside the page editor and reduces manual copy-paste steps.

WordPress block inserter showing the GriffinForms Form block and icon in the add block overlay
Search for the GriffinForms Form block in the add-block overlay, then insert it into the page.
GriffinForms form preview inside the WordPress block editor with the form selected in the block sidebar
The block editor preview lets you choose the form and check placement, while the right sidebar keeps the form selector visible.

GriffinForms block icon In the editor, you are choosing which form to place, not running the live form itself.

Use the shortcode when you need manual placement

Use the shortcode when you need a more manual placement path.

  • Classic editor content
  • Theme or template output
  • Widget or custom area where blocks are not the cleanest choice
  • Any workflow where you already manage placement in code or reusable snippets
Example shortcode
[griffinforms_form id=123]
Replace 123 with your form's ID.

If you are publishing a WordPress contact form across several pages or in a template partial, the shortcode is often the simplest repeatable option.

Form list showing the shortcode to copy for embedding
Copy the shortcode from the form list, then paste it into the page, post, or template where the form should appear.

Understand what the editor preview does not show

The Gutenberg preview is useful for layout awareness, but it does not run the real form workflow.

  • Validations do not run in the editor preview.
  • Conditional logic does not run in the editor preview.
  • Payments and live submissions do not run in the editor preview.
  • The front-end block output still renders through the same shortcode pipeline used by shortcode embeds.

Pro tip: treat the block preview as a placement preview, not a full test. Because the final frontend render still goes through the shortcode renderer, your real test should always happen on the published page or preview URL, especially for multi-step forms, payment forms, and anything with integrations.

If you are seeing odd preview behavior in the editor, that does not automatically mean the live form is broken. Start by checking the page preview in the browser. If the live form still fails there, review JavaScript Required and your form-specific settings.

Test the live page before publishing

Before you publish, run a quick frontend check.

  • Preview the page or post on the frontend, not only inside the editor.
  • Submit one test entry with valid values.
  • Submit one invalid test to confirm validation messages still make sense.
  • Check notifications, CAPTCHA, payments, or redirect behavior if the form uses them.
  • Review mobile spacing and button placement on the live page.

Common placement problems

  • The form does not appear: confirm the form ID is correct and clear any page caching.
  • The shortcode shows as plain text: make sure it is pasted into a normal content area, not a code block.
  • The editor preview looks incomplete: this is expected for validations, payments, and conditional logic. Test on the frontend.
  • The live page still looks wrong: check Form Settings & Publish and any theme/layout conflicts on the page.

Next steps

If you are still finishing the form itself, continue with Form Settings & Publish or QuickStart. If placement still fails after following the steps below, share where you embedded it and what WordPress editor you used in WordPress.org support.