Quick tutorial explaining two ways to set the Post Status of submitted posts.

Video Tutorial

Written Tutorial

Global Post Status

To set the default/global Post Status for all forms, visit the USP General settings ▸ “Auto Publish Posts” and select an option from the dropdown menu. This option will be used for all forms unless a local/per-form Post Status is defined.

Local Post Status

To override the default Post Status for any USP Form:

  1. On the Edit Form screen, scroll down to the Custom Fields panel
  2. There, define a new custom field named usp-post-status
  3. Give the custom field a value corresponding to the desired Post Status

Note: the custom field that we are using for this technique should look like this:

USP Pro - Custom Post Status

That is, the custom field used here is a regular custom field, not a field that will be included in the form itself (compare with custom fields that will be included in forms).

Available Post Status

Here is a list of acceptable values for the usp-post-status custom field:

  • -6 – Future (scheduled)1
  • -5 – Password2
  • -4 – Private
  • -3 – Custom (uses value of General settings ▸ “Custom Post Status”)3
  • -2 – Pending
  • -1 – Draft
  • 0 – Publish
  • 1-20 – Auto-approve after number of posts
Notes

1 Note about “Future” Post Status: in order for scheduled posts to work properly, you must specify a Custom Post Date. Otherwise, if your form sets a Future Post Status but does not specify a Post Date, the Post Status will revert to Publish and the submitted post will be published immediately.

2 Note about “Password” Post Status: an email that contains the post password will be sent to the email specified via the Email field. Or, if the Email field is not included on the form, the post password will be sent to the address specified under USP Pro settings ▸ Admin ▸ “Admin Email From”. Note also that you can customize the email address, subject, message, and headers via their respective USP Pro hooks.

3 Note that USP does not automatically register your specified Custom Post Status. So any Custom Post Status defined via the setting, General ▸ “Custom Post Status”, must already be defined via your theme or some other plugin.

Related: Custom Post Dates »