Have you ever seen sites that allow users to submit posts or other type of content? Do you want to have user-submitted content on your site? In this article, we will show you how to allow your users to submit posts to your WordPress site without creating a user account. Ofcourse you can require user registration if you like. You will get to moderate the user-submitted content like comments and approve them only if you like it. This method is useful for sites like: galleries, directories, or even blogs that accept guest posts.
Allowing Registered Users to Submit Posts
WordPress comes with built in user roles and capabilities which allows you to run a multi-author WordPress site. Users can register on your site and create content using WordPress admin interface with limited capabilities. To enable user registration go to Settings » General, check Any one can register next to Membership option. Choose Author or Contributor as the default user role.
Users can now register on your WordPress website. To let users know that they can register, go to Appearance » Widgets and drag and drop Meta widget to a sidebar.
Users can now register and login to your website and use the WordPress admin area to submit their posts and content. They will have limited access to the admin features based on the default user role you chose earlier. You can add or remove capabilities to user roles or create new roles with only the capabilities you want.
Now if you don’t want to require user registration, then keep on reading.
Allow Users to Submit Posts Without Registering
Many website owners do not like to complicate things by allowing users to access the WordPress admin area. In this case, you would need a solution that allows users to submit their content directly from the front-end of your website.
First thing you need to do is install and activate User Submitted Posts plugin. After activating the plugin, go to Settings » User Submitted Posts to configure the plugin.
On the settings page, under the options you can configure exactly what you want users to add. You can select the fields you want to appear on the submission form and hide any field that you don’t want users to see. You can choose a default author for all user submitted content. We would recommend that you create a new Guest User on your WordPress site and assign all user submitted posts to that user.
You can also allow users to upload images and set a limit for number of images and maximum image size. You can even set a user uploaded image as the featured image.
To display the content submission form, you need to create a new post or page. Give it a title and paste this shortcode where you want to display the submission form:
This is how your user submission form would appear on your site:
Allow Users to Submit Links/News or Images from Front-end
In some cases, you may not want users to submit entire articles. May be you just want users to submit their photos or post links with short descriptions. In that case User Submitted Posts allows you to hide any item you don’t want to display. Lets assume that you just want users to submit links. Go to Settings » User Submitted Posts. Under the options box, choose only post URL and post title fields to show and hide rest of the fields. This is how your user submission form will look now:
Even though the plugin does not come with a widget, it uses shortcode, so you can add user submitted posts form in a widget. Drag and drop a text widget to your sidebar and add
[user-submitted-posts] shortcode in it. If the widget does not display the form, then you will need to add the following line to your theme’s
Using Gravity Forms for User Submitted Posts
We use and recommend Gravity forms to all of our users. After trying out all the available form options, we have found it to be the most beginner friendly WordPress form plugin. It can be used to create many different kind of forms using a very intuitive drag and drop interface. You can check out why we use Gravity forms. For the purpose of this article, we will show you how you can use Gravity forms for allowing users to submit posts to your WordPress site with or without registration.
First thing you need to do is install and activate Gravity forms. After activation, go to Forms » New Form. Provide a title and description for your form. On your right hand, you will see the fields you can enter in your form in different boxes. Under the Post Fields option, you will see the fields a user would need to create a post.
Click on the fields you want to add in your form. For example, title, post body, categories, etc. You will notice that each field you add has an edit link. Click on the post body field’s edit link, and you can configure settings for the post. You can choose a default author, default post status, custom post type, maximum characters, etc.
Once you are done adding the fields, make sure to save your form. To control the form behavior, click on the form settings tab at the top, and you will see form settings, notifications, and confirmation tabs. Here you can configure what happens when user submits a form, require login, limit number of entries, and add anti-spam measures. Once you are satisfied with these settings click on Update Form Settings button.
To add the form in a post or a page, create a new post or page. You will notice a new Add Form button next to Add Media button above the post editor. Click on Add form button and choose the form you just created and insert it to the post. You will notice that the gravity form shortcode will be added to your post/page. Save your page and preview it.
The beauty of Gravity Forms is that it allows you to add specific custom fields, custom taxonomies, and much more. Yes, it is a paid plugin but it can be used in many different ways. Use our Gravity Forms coupon and get 25% off.
There can be many other ways to allow user submitted content on your website. However, we feel that the methods described above are probably the easiest way to allow users to submit posts and other content to your WordPress site. We hope that you found this article useful. As always, please send us your questions or give feedback by leaving a comment below.