The User Submitted Posts plugin for WordPress
Some PublishPress users have asked us about accepting content from their site visitors.
We recommend the User Submitted Posts plugin. This plugin is an excellent choice. If you rely on User Submitted Posts, your visitors don't need an account on your site, so this can reduce the friction involved with creating content.
Introducing User Submitted Posts
User Submitted Posts adds a form on the frontend of your site. Using this form, visitors can contribute to your site and add content themselves.
You set up the form by adding a shortcode to a Post or Page. The form can also be integrated at the theme level via a template tag.
User Submitted Posts has seven default fields and a custom field option. All the fields can be set to three different states:
- Required
- Optional
- Disabled
Furthermore, it is possible to add as many images as you want, including a featured image.
You can also integrate Google reCAPTCHA for the form and add a checkbox for users to agree with the disclosure of their personal information.
Posts can be assigned to one of four publication states:
- Pending.
- Draft.
- Publish immediately.
- Publish after a specific number of posts.
Click here to read more about the default WordPress statuses.
Step #1. Installing User Submitted Posts
Let's get started with User Submitted Posts:
- Click Plugins > Add new.
- Search for User Submitted Posts.
- Click Install now.
- Click Activate.

Step #2. Configuring User Submitted Posts
I'm going to take you through all the different options available for User Submitted Posts.
- Go to Settings then User Submitted Posts.
- Scroll down and open the Plugin settings area.
The Form Fields section contains the basic configuration. You will see options for the default fields, the custom field, the challenge question, and reCAPTCHA. In the image below, I've given some recommended choices for these settings:

The General Settings section refers to the appearance of the form, its placement in a post, and the default publishing status. There are also other features, such as including the form via a shortcode inside a widget (this is not possible by default in WordPress). My recommendation is to leave the default values, except for the option Rich Text Editor.

The Privacy settings allow you to add a checkbox for the user to accept the data protection terms of your site. This is important in particular if you intend to have user submissions from Europe. You may need to include this checkbox to fulfill the GDPR requirements. Select this checkbox and configure the text.

Leave the Categories section untouched, since we have disabled that field.
In the Users section, you can configure which users will have access to the post submission form (all users or only authenticated users).
Check the options:
- Registered Username
- Require User Login
Only users logged to the system will have the possibility to see the submission form, submit, and edit it.

Change the label for the Custom Field, to allow the user to enter his/her year of birth. Remember that this field is not required.

The Challenge Question helps site admins to restrict the access to the form to spambots. Change the question to expect a text in capital letters and force the text to be case sensitive, to submit the form.

The reCAPTCHA field is disabled, let’s continue with the Email alerts section. You can configure here the address, to where an email will be sent, once a user submits a guest post. You have other customization options here, like the appearance of the subject line or the email body text. Leave the defaults.
The Image Uploads section lets you configure if the user can upload a featured image. Furthermore, you can restrict the number of uploaded images and their size.
Check the Featured Image box.

The last section is Auto-Display-Content. Leave the defaults and click Save Settings.

Step #3. Create a post with shortcodes
Let's set up our User Submitted Posts form so visitors can see it:
- Click Posts > Add new.
Write a proper title and an introductory text and add these shortcodes:
[usp_member]
[user-submitted-posts]
[/usp_member]
[usp_member deny="Only logged in users can submit posts"][/usp_member]
[usp_visitor]
[usp-login-form]
[/usp_visitor]
This image shows a WordPress post with the shortcodes. I've added an explanation showing what these shortcodes do:

Step #4. Create a Post
Let's see our new User Submitted Posts form in action:
- Click Users > Add new.
- Create a new user with the role Contributor.
- Click Add New User.

- Log out and check the published post. You should see the image below:

Why do you not see User Submitted Posts? You don't see them because you are not logged in, so the message and the login form will be displayed.
- Log in with the user you have just created.
- Fill out the form and click Submit Post.

Step #5. Approve the Post
- Open your WordPress admin account and click Posts.
- You should see the submitted post with status Pending (click here to see the difference between Pending and Draft).
- You can edit the post and publish it.

Extra Step for Guest Authors
One limitation to this process is you won't have profiles for these authors. The PublishPress Authors plugin can be a big help here as it allows you to create guest author profiles.
More useful WordPress plugin recommendations
- Create a table of contents for WordPress posts
- How to link words in a WordPress post to a glossary
- How to enable lazy loading for WordPress comments
- Keep a log of all your site activity
Get the PublishPress plugins
Join PublishPress today and you'll get powerful publishing and permissions plugins to improve your WordPress site.
how do we show the custom field in the actual posts?
same question here
I have 2 x Author images on my user submitted post. How do i make it just 1 x Author image showing?
Does this word with Azure AD integration?
I am trying to set up an easy way for instructors to post info for their students, on an established wordpress.org site. Since several are teaching at the same time, I need to be sure that their posts (or pages?) will go to the same location so students can find them. I.e.
Shakespeare
* class 1 assignment
* class 1 slides
*class 2 assignment
…etc
Is there any way to do this with the USP plugin?
Teaching the instructors how to use wordpress as contributors is beyond my pay grade and learning it is beyond theirs. We do well to teach them to use zoom and a powerpoint in class.
How to insert image by url in user submitted posts
Hi manual, install a plugin ’embed image by url’ to do so! Any image URL insterted in the content area will be featured image of the post.
Is it possible to update the ‘User Submitted Post Info? I have updated the Post author in Admin area for posts submitted by an old user that is no longer with the company. But on the front end the article still says it was submitted by the old original user. I want to update the User Submitted Post Info to depict another person still with the company. Is it possible to update the User Submitted Post author info? If so, how?
I’m having the same problem.
Hi everyone. We wrote a blog post about this plugin, but we aren’t the developers. You’ll have better luck contacting the people who build the plugin.