Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Create a User-Submitted Events Calendar in WordPress

If you’re looking for a way to build a community and boost engagement on your website, then accepting calendar events from users is a great place to start. This is a win-win situation: Your visitors get free promotion for their events, and you get to attract more community members.

Now, WordPress doesn’t offer a feature by default to accept calendar events from users. To help you out, we tried out different plugins and found that the easiest way to do this is to use WPForms and Sugar Calendar.

In this article, we will show you how to easily create a user-submitted events calendar in WordPress without giving visitors access to your admin area.

How to create a User submitted events calendar in WordPress

Why Create a User-Submitted Events Calendar?

Crowdsourcing events for your WordPress calendar is a great way to build a community, attract new visitors, and keep your calendar updated with the latest events.

It also helps save time since you don’t have to search the internet for upcoming events.

When community members can add events to your calendar, they’ll get free promotion for their events. Plus, your WordPress website visitors and other community members can easily learn about events happening in their area.

For example, let’s say you are running a charity or non-profit membership website. You could allow members to add different fundraisers, seminars, charity, webinars, and other community events to your site’s calendar.

However, the problem is that WordPress doesn’t allow users to submit calendar events or upload files from the front end by default. You will have to create an account for each user and allow access to the admin area. This method is time-consuming and could be risky.

Thankfully, there’s an easier way. Let’s see how you can let people add calendar events in WordPress.

Accepting User-Submitted Events in WordPress

The best way to allow users to add calendar events without giving them access to your WordPress admin panel is by using WPForms. It’s the best contact form plugin for WordPress and is trusted by over 6 million businesses.

The plugin lets you create a file upload form and offers a Post Submissions addon that allows you to accept event listings, PDFs, articles, quotations, and other content on the front end of your website.

WPForms' homepage

Note: WPForms has a free version. However, you’ll need the Pro plan of the plugin because it includes the Post Submission addon, premium integrations, and other customization features.

First, you’ll need to install and activate the WPForms plugin. If you need help, then please see our beginner’s guide on how to install a WordPress plugin.

Upon activation, head over to the WPForms » Settings page from your WordPress dashboard and enter your license key. You can find this information in your WPForms account area.

WPForms license key

Next, click the ‘Verify Key’ button to continue.

After that, visit the WPForms » Addons page and then scroll down to the Post Submissions Addon.

Go ahead and click the ‘Install Addon’ button.

Post submission addon by WPForms

Once the addon is installed, you will notice the Status change from ‘Not Installed’ to ‘Active.’

Creating an Event Calendar in WordPress

Next, you’ll need a WordPress events calendar plugin to create an events calendar on your WordPress site.

For our tutorial, we will use the Sugar Calendar plugin. It is a powerful yet beginner-friendly event management system for WordPress that offers many features. You can easily add events and manage organizers and venues with it. See our complete Sugar Calendar review for more details.

Note that we’ll be using the Sugar Calendar Pro version for this tutorial. But there is also a free Sugar Calendar version you use to create a calendar for your site.

First, you’ll need to install and activate the Sugar Calendar plugin. For more details, see our guide on how to install a WordPress plugin.

Upon activation, you can go to the Sugar Calendar » Settings page in the WordPress admin panel. From here, you will need to enter the license key and click the ‘Verify Key’ button.

Adding a license to Sugar Calendar

You can find the key in the Sugar Calendar account area or in the purchase email you received when signing up for an account.

Next, scroll down and click the ‘Save Settings’ button to store your changes.

Save Settings after verifying your Sugar Calendar license

After that, you can create a new calendar by going to Sugar Calendar » Calendars from the WordPress admin dashboard.

Go ahead and click the ‘+ Add Calendar’ button at the top.

Creating a new calendar in WordPress

On the next page, you can start by entering a name for your calendar.

You can also select a slug or URL for the calendar, choose a parent calendar, and enter a description. Plus, you are able to select a color for your calendar entries.

Enter new calendar details

When you are done, simply click the ‘Add New Calendar’ button at the bottom.

You can repeat this process to create as many calendars as you want.

Creating a User-Submitted Events Form

In the next step, you’ll need to make a form using WPForms to set up event registration on your website.

To start, you can visit the WPForms » All Forms page from your WordPress dashboard and click the ‘+ Add New’ button. This will launch the drag-and-drop form builder.

The + Add New button on WPForms' Forms Overview

WPForms offers thousands of form templates to choose from. Simply enter a name for your form at the top and then select a form template.

We are using the ‘Event Form’ template for this tutorial, as it includes all the fields users require to submit their events.

Select event form template

Next, you can customize your event form.

Using the drag-and-drop form builder, WPForms lets you add different form fields. You can add a dropdown menu, checkboxes, phone number, address, website URL, and more.

Plus, it lets you rearrange the order of each form field and remove fields you don’t need.

Edit event form

For example, we will add the ‘Date / Time’ fields to our form template to show the ‘Event Start Date / Time’ and ‘Event Finish Date / Time’. We also added a ‘File Upload’ form field so users can upload images and banners for their events.

Pro Tip: When you add the Date / Time field, make sure to click the checkbox for ‘Disable Past Dates.’ You can find this option in the Advanced Options tab.

This will ensure that all your new events have a future date. It also helps catch mistakes if someone accidentally enters the wrong year.

Disable past dates option

When creating your form, you can rename the different form fields.

To do that, simply click on them and then change the ‘Label’ under Field Options in the menu on your left. For example, we changed the File Upload form field label to Event Image.

Change label of fields in form

After that, you’ll need to go to the Settings » Sugar Calendar tab in the form builder.

Now, make sure that the ‘Enable Sugar Calendar Event creation’ option is On.

Enable sugar calendar in WPForms

Besides that, you’ll need to match your form fields with the fields that the Sugar Calendar plugin will look for.

For example, this is how we mapped our demo form fields:

  • Event Title to Event Name
  • Event Description to Event Description
  • Event Featured Image to Event Image
  • Start Date and Time to Event Start Date & Time
  • End Date and Time to Event End Date & Time
  • Event Status to Pending Review
  • Location to Event Location

The Pending Review status allows you to moderate each event submission. Plus, if you are accepting online payments, then you can check if the payments were successful before approving the event.

Next, you can also change other settings of your form.

If you go to the ‘Confirmations’ tab, you will see settings for showing the thank you page that will appear when users submit a calendar event.

You can show a message on a page or redirect people to another URL when they submit the form.

Confirmation settings

Other than that, you can also change the ‘Notifications’ settings.

The plugin lets you choose different settings for receiving an email notification when someone submits a form. For instance, you can change the send to email address, subject line, from name, and more.

Edit notification settings

Don’t forget to click the ‘Save’ button at the top to store the changes to your event submission form.

Publishing Your User-Submitted Events Form

Now that you’ve created a user-submitted events form, it’s time to publish it on your WordPress website.

WPForms offers multiple options to embed your form in WordPress. You can use the WPForms block in the block editor, use a shortcode, add a sidebar widget, and more.

For this tutorial, we will use the Embed wizard offered by WPForms.

To start, simply click the ‘Embed’ button in the top right corner.

The Embed wizard on the WPForms form builder

When you click the button, a popup window will appear.

Go ahead and click the ‘Create New Page’ button, and WPForms will automatically create a new page for your form.

Create a new page

You can also click the ‘Select Existing Page’ to add the form to a published page.

Next, you’ll need to enter a name for your page. Once that’s done, simply click the ‘Let’s Go!’ button.

Enter name for page

On the next screen, you can see your user-submitted events form on the new WordPress page.

Go ahead and preview the page and then click the ‘Publish’ button.

Event form preview in content editor

You can now visit your website to see the form in action.

Here’s what it will look like on the front end of your WordPress site.

User event submitted form

Next, you can review the calendar events that your users submit by going to the Sugar Calendar » Events page from your WordPress dashboard.

All the user-submitted events will appear in the calendar. You can click on any of them and then click the ‘Edit’ button to review them.

View and edit events

Next, you can review the event details and ensure that the user has filled out all the required information.

If any information is missing, you can add it or reject the calendar event if it doesn’t meet your website requirements.

Publish user submitted event

After that, simply ‘Publish’ the user-submitted event.

You can now visit your website to see the event in the calendar.

View event in calendar preview

Bonus: Create a Simple Event Calendar in WordPress

If you just want to create a calendar where only you can add events, then you can also do that with Sugar Calendar.

It is the best calendar plugin on the market that lets you create multiple calendars, set start and end times for your events, sync with Google Calendar, and more.

Sugar Calendar

Upon plugin activation, simply visit the Calendar page from the WordPress dashboard. Here, switch to the ‘Calendar’ tab and click the ‘Add New’ button.

This will open a prompt where you can start by adding a name for the calendar.

Setting a parent calendar in Sugar Calendar

Once you have done that, switch to the ‘Events’ tab and click the ‘Add New Event’ button.

The content editor will now launch on the screen, where you can add all the information for your event, including name, date and time, and duration.

Add events to your calendar

Finally, click the ‘Publish’ button to store your settings. You have now successfully added an event to your calendar.

For details, see our tutorial on how to create a simple event calendar in WordPress.

We hope this article helped you learn how to create a user-submitted events calendar in WordPress. You may also want to check out our guides on how to sell event tickets using WordPress or how to host a virtual event in WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

6 CommentsLeave a Reply

  1. WPBeginner Support

    In the form settings you would change the pending review to published if you wanted all submissions to go directly live if you were not concerned with moderating the events.

    Admin

  2. Philipp Letschka

    Hello,
    Thank you very much for your tutorial.
    I want to publish every event as soon as it is added without having to approve the event.
    Sadly, I have not found a way to achive this. When I add an event via the form it is added to the database. But the event view does not update, unless I press the update button on the event edit page. Any ideas?
    Regards

  3. Boris Kospic

    Hello,

    Is it possible to submit events with published status, not pending?

    So the admin doesn’t need to approve the event manually?

    I know that this is not available with the default settings, but I hope that you can find some workaround to archive this :)

    Regards

    • WPBeginner Support

      You can change the status to published, the main concern when you do that will be any spam submissions you receive will be published on your site.

      Admin

  4. Obed

    Great post here, congrats!
    Is there any known security risk associated to this approach, like code injection or any through-web -form hacking method?
    Cheers!

    • WPBeginner Support

      Unless we hear otherwise there is not currently a known security risk with this.

      Admin

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.