Do you want to accept user-submitted WordPress posts? Publishing guest posts from other people is a great way to grow a community or business blog.
In this article, we’ll show you how to allow users to submit posts to your WordPress site. That way, you can quickly publish them on the frontend. This is super easy to set up, and you can allow posts from registered or unregistered users.
Create Your Guest Post Form Now
What’s the Benefit of Accepting User Submitted Posts in WordPress?
User-generated content is a powerful tool when you’re growing an audience for your website. You can use WordPress user-submitted posts to:
- Publish more content on your website – Posting user-submitted content can help if you’re struggling to find the time to blog.
- Increase your keywords – Accepting guest posts in your niche can help you to rank for keywords that you might not have thought of yet.
- Increase your readership – Get a different perspective on important topics so that you attract a wider audience.
- Engage your community – Give people a voice by publishing their posts on a multi-author blog. A community blog is a perfect space for everyone to share their thoughts and ideas.
How to Allow User-Submitted Posts on Your WordPress Blog
We’re going to show you the easy way to accept blog posts on your site. If you’d prefer to have your visitors add events, jump over to this guide on how to let visitors add user-submitted events to a calendar.
We created this video to show you the basic steps to allowing users to use a WordPress form to post articles on your website as guest authors.
For a written tutorial on accepting WordPress user-submitted posts, see the instructions below.
In This Article
- What’s the Benefit of Accepting User Submitted Posts in WordPress?
- Step 1: Install and Activate the WPForms Plugin
- Step 2: Create Your User-Submitted Posts Form
- Step 3: Check Your Guest Submission Form Settings
- Step 4: Set Up Your User-Submitted Form Notifications
- Step 5: Map Guest Post Form Fields to WordPress Post Fields
- Step 6: Publish Your WordPress User-Submitted Post Form
Step 1: Install and Activate the WPForms Plugin
With WPForms, you can easily create a WordPress form to accept guest posts. And because you can map the form fields to the fields on your blog, you can publish user-generated content on the frontend quickly and easily.
The first thing you’ll need to do is install and activate the WPForms plugin. For more details, see this step-by-step guide on how to install a WordPress plugin.
Next, you’ll need to install and activate the WPForms Post Submissions addon. It’s available with the Pro version of WPForms and higher.
To do this, stay in the WordPress admin area. On the left-hand side, go to WPForms » Addons.
Next, find the addon labeled Post Submissions. Click Install Addon and then Activate.
We’re all set. Let’s make our post-submission form next.
Step 2: Create Your User-Submitted Posts Form
Now we’re going to make a form we can publish on our website to accept guest posts from visitors.
To start, click WPForms » Add New.
Type in a name for your form at the top. Then scroll down a little and click on the Blog Post Submission Form template.
If you don’t see the Blog Post Submission Form template, you’ll want to go back a step and check that the Post Submissions addon is activated.
When you click on the template, WPForms will create a form with 2 sections:
- Author Details – Your visitor can type in their name, email, and author bio here.
- Create a Blog Post – This is where they’ll type their post title, post content, and excerpt. There are also fields for a featured image and category.
This template is completely customizable. You can add more fields with different types of validation. For example, you can easily add:
- Rich Text field: Replace the Post Content Paragraph Text field with a Rich Text editor so writers can style their posts and include images.
- Content field: Place a notice on the form to remind your writers how to format their posts.
- Captcha or challenge question (Custom Captcha): Stop spam submissions on your form.
It’s also easy to edit any field for customization. Go ahead and click on the field in the form preview to open up its settings on the left.
We can show you how this works by editing 3 important fields.
Add User Submitted Images to Media Library
The Blog Post Submission Form template includes a File Upload field for featured images.
The featured image is the image that’s displayed next to the post in WordPress. Sometimes it’s shown as a thumbnail image.
When accepting user-submitted WordPress posts, your users can create and upload their own featured images for their posts. If you store them in the Media Library, they’ll be easier to use.
To check this setting, click on the Featured Image form field on the right. You’ll see the field options open up on the left-hand side.
First, you can use the field Description to specify the size requirements for the featured image.
You can see in the screenshots below that we also limited the Allowed File Extensions to png. You can use other file extensions here or leave it blank.
Next, click on the Advanced menu to see more options. You’ll want to make sure the setting labeled Store file in WordPress Media Library is turned on.
Similarly, if you’re using the Rich Text field to accept post content and want to let users add images to their posts, you’ll want to open its field options and turn on the Allow Media Uploads and Store files in WordPress Media Library options.
Ready to move on? Let’s look at categories next.
Let Guests Choose a Blog Post Category
The blog post submissions form template automatically pulls in the list of categories on your blog. This makes it super easy for your guest blogger to pick their own categories.
To explore these settings, click the Category field in your form preview. Then click on the Advanced tab and look for the Dynamic Choices and Dynamic Taxonomy Source options.
These settings let WPForms pull in a dynamic list of categories from your site. It’s a lot easier than typing them all in, and it means the list of categories on the frontend will always match the categories on your blog.
If you want to let users add tags to their posts as well, you can add a Checkboxes field and set the Dynamic Choices option to Taxonomy. Then choose Tags from the Dynamic Taxonomy Source dropdown.
Using a Checkboxes field for this will allow writers to select multiple tags to add to their posts. You could also create a multi-select dropdown in WordPress if you prefer.
OK, now we have our categories and tags set up, let’s move on to the form settings.
Step 3: Check Your Guest Submission Form Settings
Let’s check the basic settings for your post-submission form.
To start, click the Settings icon on the left-hand side of the form builder window. This will open the General settings page.
Here you can configure the general settings for your form:
- Form Name — Change the name of your form here if you’d like.
- Form Description — Give your form a description.
- Tags — Add form tags to organize your WordPress forms.
- Submit Button Text — Customize the copy on the submit button. You can use CSS to style the button if you want to.
- Submit Button Processing Text — Change the text that shows while your form is submitting.
There are also advanced settings you can customize, including:
- Custom CSS — Add CSS classes to your form or submit button.
- Enable dynamic fields population — Fill some fields automatically based on the URL of the page the form is embedded on.
- Enable AJAX form submissions — Enable AJAX settings so that the page doesn’t reload when the form is submitted.
- Disable storing entry information in WordPress — You can disable the storing of entry information and user details, such as IP addresses and user agents, in an effort to comply with GDPR requirements. Check out our step-by-step instructions on how to add a GDPR agreement field to your form.
Once you’re done here, move down to the Spam Protection and Security settings.
Here, you can:
- Enable anti-spam protection — Stop contact form spam with the WPForms anti-spam token. The anti-spam feature is automatically enabled on all new forms.
- Enable Akismet anti-spam protection — If you use the Akismet plugin, you can connect it to your form to stop spam.
- Enable country filter — Block submissions from certain countries.
- Enable keyword filter — Prevent entries that include specific words or phrases.
You can also set up your preferred CAPTCHA. See our complete guide to spam prevention for more details.
If everything looks good, click Save.
Let’s look at notification emails next.
Step 4: Set Up Your User-Submitted Form Notifications
WPForms can send emails each time you get a form submission.
Let’s click Notifications to see what the message looks like.
By default, WPForms will create a generic email notification that will let you know when you have a new user-submitted post on your WordPress site.
You can see that it will be sent to the admin email you have set up in WordPress.
If you want to change the email, you have 2 options:
- Delete the
{admin_email}
tag and type in a different email address. - Change the admin email address in WordPress.
You could also send a thank you email to the user when they submit their blog post. If you’d like to set that up, check out our documentation on how to set up form notifications in WordPress.
There’s a lot more functionality in the settings if you want to continue to explore. For example, you can also use the Confirmations section to write a custom message that will load when the form’s submitted.
OK, we’re done here. Click Save before we move on to the important part: mapping your form fields.
Step 5: Map Guest Post Form Fields to WordPress Post Fields
Now it’s time to make sure that your form fields are correctly mapped to your post fields.
This will automatically send each field to the right place in your blog post so that you don’t have to copy and paste.
To start, go to Settings » Post Submissions. Make sure the Enable Post Submissions toggle is set to the “on” position.
The default settings here will suit most blog posts. Let’s look through them one by one:
- Post Title — Defaults to the title that the user types in.
- Post Content — The main body of the blog post that your visitor submits.
- Post Excerpt — A short summary of the blog post.
- Post Featured Image — Get featured image uploads from your writers. We’ll show you how to store them in the Media Library.
- Post Type — You can choose whether to add new user submitted posts as blog posts or pages. If you have custom post types on your blog, you can select one of those here too.
- Post Status — You can choose to publish each post immediately if you want to. Alternatively, you can choose Require Approval so that you can check the post before you publish it.
- Post Author — Choose the author that will be automatically assigned. If you require users to log in before accessing the form, the user who submits the form can be assigned as the author.
Let Authors Fill in Custom Fields
Do you have custom fields that you want your writers to fill in? It can be time-consuming to paste the content into the fields each time they submit a new blog post.
With WPForms, it’s easy to use custom fields in user-submitted blog posts. That way, they can share the information on the frontend of your site.
For example, you way want to enable authors to share their websites so that readers who are interested in your guest posters can easily find their other content.
Custom fields require a little more work on the backend. You’ll also need to check that your WordPress theme supports them. For a full tutorial, jump over to this guide to using custom fields in user-submitted posts.
When you’re done, click Save.
That’s it! We’re ready to go live.
Step 6: Publish Your WordPress User-Submitted Post Form
After you’ve created your custom form, you need to add it to your WordPress website.
WPForms makes it easy to add forms to any location on your website, including:
- Posts
- Pages
- Footer widgets
- Sidebar widgets
You can use a shortcode if you want to. But we’ll show you an easier way.
At the top of the form builder, click Embed.
Next, click Create New Page.
Finally, type in a name for your form and click Let’s Go.
WPForms will automatically create a page and embed your form into it. When you’re happy with the way it looks click the blue Publish button.
Here’s what your form might look like on the frontend.
That’s it! Now you can start accepting WordPress user-submitted posts.
If you want to notify your readers each time you publish a new post, you can easily use PushEngage to send a browser notification. Browser push notifications are a great way to keep your audience engaged.
Create Your Guest Post Form Now
Next, Set Up Your Multi-Author Blog
Now that you’re ready to accept user-submitted content in WordPress, you’ll want to make it easier to manage your authors and posts.
To do that, check out this list of the best plugins to manage multi-author blogs. You can also create a custom registration form for new writers.
Ready to build your form? Get started today with the easiest WordPress form builder plugin. WPForms Pro includes the Post Submissions addon and offers a 14-day money-back guarantee.
If this article helped you out, please follow us on Facebook and Twitter for more free WordPress tutorials and guides.
Is this also applicable to blogger site?
Hi Nwachukwu.
I apologize WPForms is a WordPress plugin and therefore it will not work within a blogger site.
Apologizes for the inconvenience!
how can the user check his post analytics
Hi there.
Great question, to check your post analytics and your entire WordPress site. We highly recommend making use of the MonsterInsights plugin. In case it helps, here is a great article on the same.
Thanks!
Hi, twoquestios:
1. is it posible to allow users to also upload a PDF, and if yes, how will it display at the frontend?
2. Can the user upload multiple images? or to use multiple image fields in the form? and if yes how will they be shown?
Hey Alvaro,
Whereas with the file upload field, you should be able to allow users to upload PDF file as well as multiple images. To allow multiple files upload, please take a look at our guide on the same.
However, at the moment we don’t have an inbuilt feature to display them in the frontend of the page. Using the code from this dev doc, you should be able to display it in the frontend. For any further customization, we suggest using codeable or WPBuff.
I hope this helps!
I need to send a automatic notification with the new page/post ID or URL generated/created with the Blog Post Submission Form.
How can I get it? I have tried with all the smart tags but I dont find any with the new url/id page created.
Hey Henry- We do not have an inbuilt feature to achieve what you have mentioned. I have added your vote to consider this as a feature request for future enhancement.
However, you can achieve this by using the custom code as shown in this dev doc
Hope this helps! 🙂
Hi… can I use WP forms for reader submissions in the following way?
1. not required to log into site
2. force a choice only 3 categories ie news tips, reviews, announcements
so they don’t see my other categoreies
Hey Jim- We do not have an inbuilt feature to conditionally display the post categories based on user selection. I agree that it would be super helpful and I have added your vote to the feature request for future enhancements.
Thanks 🙂
Hi, if we allow non-registered users to post, is it possible to send them a notification email containing a unique link that would allow them to edit/delete their submitted post?
thanks!
Hey Paul, with our Save and Resume addon, let users save their progress in your forms and return to complete and submit their entries later.
However, we don’t an inbuilt feature to allow users edit/delete submitted post as you’ve described. Thanks for your suggestion! I have added your vote to the existing Feature Request. We appreciate your interest and thank you for sharing your valuable idea!
Thanks!
I have a request: when the article is sent in a “pending” state, and an email arrives to the site administrator with the content of the form, is it possible to insert a link to change the status from pending to publish?
In other words, instead of going into wordpress and changing the status, the administrator reads the content of the form by email, and wothout login into WordPress, if he wants to approve it, he just clicks on a link.
Hey Francesco,
Currently, we do not have an inbuilt feature to insert a link to change the status of the submitted blog posts. I do agree it would be super helpful, though. I’ve made a note of the feature request and we’ll keep it on our radar as we plan out our roadmap for the future.
Hi,
how can I create a blogging platform where anyone can login/register and write a blog on my website?
any additional plugins that you would suggest?
Hey Virat- You can achieve this by adding the User Registration add-on which will enable the users to register and then with the Post Submission add-on, you can allow the registered users to submit the Post. (both the addons are available with Pro and higher license level)
Hope this helps 🙂
Please help
Where or how to show guest posts submitted up? Or, How can we organize /confine/ collect/ all of guest posts in a special part/ meun part/ submenu box/ or any part under any name? But I mean how we can collect all of guest posts and show them in a single title/category/tage together, and then direct our readers to visit them easily?
Hey there, in order to make sure we answer your question as thoroughly as possible and avoid any confusion, could you please contact our team?
If you have a WPForms license, you have access to our email support, so please submit a support ticket. Otherwise, we provide limited complimentary support in the WPForms Lite WordPress.org support forum.
Thanks.