Why is my form creating WordPress posts?

If you're seeing unexpected posts appearing in your WordPress Posts section after form submissions, your form likely contains one or more Post Fields.

What are Post Fields?

A screenshot of the Post Fields
Post Fields section in the Edit Form "Add Fields" interface

Gravity Forms includes a special group of fields called "Post Fields" that automatically create WordPress posts when a form is submitted. These fields are found in the form editor under the Post Fields section.

Adding any of these fields to your form will cause WordPress posts to be created from every submission. Gravity Forms provides little visual indication that this will happen, so it's easy to accidentally add these fields without realizing the consequences.

How to identify Post Fields in your form

  1. Open your form in the Gravity Forms editor
  2. Look at the field settings for each field
  3. Post Fields will have a field type starting with "Post" (e.g., "Post Body", "Post Image")

Common mistakes include:

  • Using Post Image instead of File Upload for photo uploads
  • Using Post Body instead of Paragraph for long text areas

Solution 1: Replace Post Fields with standard fields

If you don't need posts created from your form submissions, replace the Post Fields with equivalent standard fields:

Instead of... Use...
Post Title Single Line Text
Post Body Paragraph
Post Excerpt Paragraph
Post Image File Upload
Post Tags Gravity Forms Entry Tags
Post Category Drop Down, Checkboxes, or Radio Buttons
Post Custom Field Single Line Text, Paragraph, or other appropriate field

Steps to replace a field

  1. Note the field ID of the Post Field you want to replace
  2. Add the replacement standard field to your form
  3. Configure the new field with the same label and settings
  4. If you have existing entries and need to preserve the data, you may need to migrate the data (see note below)
  5. Delete the original Post Field
  6. Save your form

Note: If you have existing entries with data in the Post Fields, replacing the field will not migrate that data to the new field. Consider exporting your entries before making changes, or use Solution 2 below to keep your form structure intact.

Solution 2: Disable post creation with a filter

If you want to keep your existing form structure (perhaps because you have many entries already), you can disable post creation using the gform_disable_post_creation  filter.

Add this code to your site using one of the methods described in Adding custom PHP code snippets to your website:

// Replace 5 with your form ID
add_filter( 'gform_disable_post_creation_5', '__return_true' );

For more examples and advanced usage, see the gform_disable_post_creation documentation.

What about existing posts?

If posts have already been created from form submissions, you'll need to delete them manually. The filter only prevents future posts from being created—it does not remove existing posts.

To bulk delete the unwanted posts:

  1. Go to Posts → All Posts in your WordPress admin
  2. Filter or search for the posts created by your form
  3. Select the posts and use the Bulk Actions menu to move them to Trash
  4. Empty the Trash to permanently delete them
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us