User submitted events in WordPress

How to Create a User-Submitted Events Calendar in WordPress (Easily)

Editorial Note: We may earn a commission when you visit links on our website.

Do you want users to submit events to a calendar on your website?

Letting users submit their own events is an awesome way to let your users build a community calendar.

In this article, we’ll show you how to create a WordPress events calendar so your visitors can freely submit events to your site.

Create Your User-Submitted Events Form Now

What Is Frontend Event Calendar Submission?

Frontend submission lets you accept event listings without making the user log in. That makes it super easy for people to contribute events to your WordPress calendar.

WPForms Pro has an awesome Post Submissions addon that you can easily integrate with a calendar plugin called The Events Calendar.

The Events Calendar homepage

Using this combination of plugins, it’s easy to take frontend submissions for:

  • Local community events
  • Film screenings
  • Street parties
  • Concerts and festivals
  • Webinars
  • Sports matches
  • …and more.

You could also make money online by charging for event listings posted to your website’s calendar or adding payment buttons to sell tickets.

How to Create a User-Submitted Events Calendar Form in WordPress

Step 1: Install the WPForms Plugin

The first thing you’ll need to do is install and activate the WPForms plugin. WPForms is the best WordPress form builder plugin. If you’re new to WordPress, here’s a step-by-step guide on how to install a WordPress plugin.

Next, you’ll need to install and activate the Post Submissions addon for WPForms. The addon is available with the Pro version or higher. This addon will add frontend post submission functionality to your WordPress site.

To do this, go to WPForms » Addons.

Open WPForms addons menu to add user submitted events

Scroll down until you find the one labeled Post Submissions.

Click Install Addon and then Activate.

Add the Post Submissions addon to add user submitted events

That’s it for step 1. Now it’s time to make your event submission form.

Step 2: Create a Form for User-Submitted Events

WPForms makes it easy to create any kind of form for your website thanks to its huge library of pre-built templates. You get a whole category of event planning form templates so you can easily find the perfect form for your specific needs.

When you install the Post Submissions addon, you’ll get a new template called Blog Post Submission Form template. Note that the template you need has the Addon label to show that it’s specifically designed to work with the Post Submissions addon:

Blog post templates in WPForms

Next, let’s rename the fields to turn this into an event submission form:

  • Post Title: Rename as Event Title
  • Featured Image: Rename as Promotional Image
  • Post Excerpt: Rename as Short Event Description

Now we need to add some more fields to the form.

First, let’s add a Rich Text field so that your visitor can add fully formatted event listings with images.

Delete the existing text field for Post Content and then drag a Rich Text field in its place. You’ll want to name it Full Event Description.

Rich text post submission field

In the Field Options for the Rich Text field, we turned on all 3 of these settings:

  • Allow Media Uploads: this will let your visitor add images to their event listing
  • Store files in WordPress Media Library: adds uploaded images to the Media Library in WordPress
  • And we also set the field as Required.

Rich Text field options

Now let’s add two Date/Time fields: one is for the event start time and one for the event end time. Using these fields, visitors can add either single-day or multi-day events to your WordPress calendar.

Edit user submitted events form in WordPress

On both the Date / Time fields, it’s a good idea to Disable Past Dates. You’ll find this in the Advanced Options for the Date / Time field.

Disable Past Dates will mean all of your new events have to have a future date. That can help to catch mistakes, like accidentally selecting the wrong year.

Disable past dates in datepicker

OK, we’re done. Let’s click Save.

Step 3: Install The Events Calendar Plugin

Next, you’ll need to install a WordPress events calendar plugin. The Events Calendar is a free plugin for WordPress websites that works great with WPForms.

The Events Calendar plugin creates a custom post type called Events that will appear in your WordPress dashboard.

When a visitor submits your form, it’ll create a new event post. We’ll be using some metadata on the form that will tell The Events Calendar how to list it.

Let’s get started with our WordPress event calendar now.

The free version of The Events Calendar lets your users create single local community events. You can create recurring events with The Events Calendar Pro.

To install it, go to Plugins » Add New in your WordPress dashboard and search for The Events Calendar.

Click Install Now to install the plugin.

Install The Events Calendar plugin

Activate The Events Calendar plugin now and run through the settings. It’s important to do this now so that your Events post type is ready for the next step.

Now we’re going to create a connection between your form and your WordPress events plugin.

Step 4: Connect Your Form to Your WordPress Event Calendar

After setting up The Events Calendar plugin, you need to connect the form you’ve created to your calendar.

Open up the event submission form you created earlier. Then go to Settings » Post Submissions in the form editor and Enable Post Submissions.


Next, you’ll want to match your form fields with the fields that The Events Calendar is looking for.

Since we used the Blog Post Submission Form template, some of this mapping will already be done. However, there are a couple of things that you need to set manually.

Set up your mapping as follows:

  • Post Title mapped to Event Title
  • Post Content mapped to Full Event Description, which is the Rich Text field we added
  • Post Excerpt maps to Short Event Description
  • Post Featured Image maps to Promotional Image

Post submissions addon mapped fields

Further down, we also mapped these fields from the form to the events post:

  • Post Type will likely be set to Posts, so we need to change this to Events
  • Post Status should be set as Pending Review
  • Current User can be anything you like – we mapped it to our Site Administrator account in WordPress.

Post submission addon - post type mapping

The Pending Review status will allow us to approve each event submission before it goes live. You’ll definitely want to use this if you’re taking payment for your event listings so that you can check payment was made successfully.

If you want to publish events as soon as they’re submitted, we’ll show you how in the FAQ section at the end of this article.

Setting Up the Custom Post Meta

To map the date and time, scroll down to the Custom Post Meta section.

We’re going to set some parameters here to map the start and end times in your form to the start and end times in The Events Calendar. Please note that all 4 of these parameters must be set.

  • _EventStartDate is mapped to Start Time
  • _EventEndDate is mapped to End Time
  • _EventStartDateUTC mapped to Start Time
  • _EventEndDateUTC mapped to End Time

Post meta for published events

In fact, the Custom Post Meta section is handy for all kinds of custom fields. Check out the FAQ section at the end of this article for more fields you can use here.

We’re done now, so let’s click Save.

Step 5: Customize Confirmation Message After Event Submission

Before you publish your event submission form, it’s a good idea to change the default thank you message that your users will see.

You can do this by going to Settings » Confirmations.

Events form confirmations

In the preview panel, customize your message in any way you like.

Events form confirmation message

WPForms gives you lots of options after someone submits an event to your website’s calendar. You can also:

  • Use conditional confirmations to show a different message depending on the event type
  • Forward your visitor to a designated thank you page
  • Forward them to a separate website.

For help with form confirmations:

Don’t forget to let your users preview their entry before submitting the form. Here’s our guide showing you how to preview a form entry before submitting it.

Step 6: Publish Your User Submitted Events Form

OK, now we’re ready to publish the event on your WordPress site!

WPForms allows you to add your forms in different ways, like:

Let’s add your event registration form with the Embed wizard in this example. This will automatically create a new page for your visitors to add user submitted events.

At the top of the form builder window, click Embed.

Embed event submission form

Now click Create New Page.

Embed user submitted post form in WordPress

And finally, type in a name for your page and click the orange Let’s Go button to create it.

Name your user submitted event page in WordPress

Now all you need to do is hit Publish to publish your form.

Publish your user submitted events form

And that’s it! Your form is live. You can use CSS to style the form further if you want to.

Now visitors can submit events through your form, and you can manage them using The Events Calendar plugin.

Step 7: Review and Publish Event Calendar Submissions

Awesome! Now we’ve published your user-submitted events form in WordPress, let’s test it out.

Here’s what ours looks like on the frontend:

Frontend user submitted events form

Go ahead and submit the form.

To review the event, go to Events in the WordPress dashboard.

The Events Calendar menu in WordPress

You’ll see that any submitted events that are submitted through your calendar form will be listed as Pending. This means they need to be approved by you in the events manager screen before they appear on your site’s calendar.

To edit events, click Edit underneath the event title.

Edit pending event

Preview the submission; with the rich text field of WPForms, you can view the complete event details, including images, within your dashboard.


A special note of the Time & Date near the bottom of your screen. If you mapped this correctly, it’d show the event in your WordPress site’s timezone.

The Events Calendar start and end time

When you’re finished reviewing all the event details, click Publish. You’ll see the listed in your new events calendar at

Published event in WordPress

And there you have it! You now know how to create a user-submitted events calendar in WordPress using WPForms.

FAQ on User Submitted Events Calendar

Got more questions on user-submitted events? Let’s look at more ways you can use this WPForms Events Calendar integration.

Can I Add Events to WordPress Without Approval?

Yes! If you want, you can publish submitted events as soon as someone submits your calendar form. That way, you don’t need to approve them manually, and they’ll show up on your WordPress events calendar instantly.

The WordPress events calendar plugin we’re using supports this.

To make it work, there are 2 things you’ll need to tweak in the steps above.

In the Post Submissions settings for your calendar form, set the Post Status to Published instead of Pending Review.

Publish events without review in WordPress with The Events Calendar

And that’s it! You’ve synced up your event registration form with The Events Calendar. Now your events will go live as soon as the calendar form is submitted.

If you have any issues with this, it’s usually because of a timezone mismatch. To fix it, go to the General Settings in the Events Calendar and click Update Time Zone Data.

Update Time Zone data

Can I Charge For Listing Events in WordPress?

Yes, WPForms makes this easy too!

You can add a payment field to your events listing form and connect your payment gateway to WPForms. You can integrate WPForms with several major payment gateways like Stripe, Square,, and PayPal.

Here are a few helpful guides that explain how to collect payments through WPForms in detail:

Keep in mind that you’ll want to manually check that the payment was successful before manually approving the event.

Can I Send Email Notifications for Event Submissions?

Yes, you can! By default, WPForms will email the admin email address in WordPress when you receive a new event listing. If you’d like to customize the email notification or add more notifications, check out this guide to sending form notification emails.

If you want, you can turn WPForms notifications off and let The Events Calendar send an email notification for each event. If you’re not getting those alerts from The Events Calendar, check out how to fix The Events Calendar not sending email.

The guide will also show you how to log emails sent from The Events Calendar.

Can I Notify My Visitors When I Publish an Event?

Sure! Did you know that you can send browser push notifications from WordPress with a free plugin? Check out this article on how to send push notifications from WordPress.

Can I Send New Events to Google Calendar?

Yes! WPForms lets you easily send WordPress form entries to Google Calendar as well.

How Do I Export Events to CSV?

With WPForms, you can export any form entries to CSV or XLSX. Please check out this guide on how to export form entries in WordPress.

Can I Use More Custom Post Meta Fields?

Yes, you can use fields like:

  • _EventAllDay – map to a checkbox field with the value YES if checked, and blank if unchecked
  • _EventCost – map to a number field on your form to display a price, or use a hidden field with the value 0 (zero) if all your events are free
  • _EventShowMap – map to a checkbox with TRUE and FALSE values, or a hidden field with the value TRUE if you always want to show the map
  • _EventURL – map to a URL field on your form.

Before adding more fields, please know that:

  • Fields beginning with _Venue or _Organizer won’t work with the event post type
  • Serialized arrays can’t be mapped to a form
  • Fields that pull data from other posts, like _EventVenueID, likely won’t work.

Mapping additional fields is an advanced technique. Please check out The Events Calendar post meta documentation for more help.

Create Your User-Submitted Events Form Now

Next, Accept User Submitted Blog Posts

Now that users can submit a WordPress event to your site, wouldn’t it be neat if they could also blog about it? If you accept user submitted posts, your visitors could share press releases and other event information to drive traffic to the calendar.

To set this up, check out the easy way to accept user submitted posts in WordPress.

And if you plan to take pictures at your event, don’t forget to make an online model release form.

Ready to build your form? Get started today with the easiest WordPress form builder plugin. WPForms Pro includes an event form template 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.

Using WordPress and want to get WPForms for free?

Enter the URL to your WordPress website to install.


  1. We have a non-profit community (URL Removed) and wanted to use the event calender functionality as desribed above.
    But while installing it seems I need to upgrade to WPForms Pro, this is not mentioned and we have no funding for that. Do you have alternatives?

    1. Hi Rinke,

      We currently offer two very special discounts for nonprofits, and I’ve included the details below:

      $99 per year for a Pro license (normally $399 per year). Our Pro license provides you with access to lots of addons, including Stripe and PayPal addons (so you can accept donations through forms on your site).

      $199 per year for an Elite license (normally $599 per year). Our Elite license provides everything you get with a Pro license plus additional addons like Webhooks, ActiveCampaign, Authorize.Net, and the Salesforce addons.

      Please note that both the Pro and Elite nonprofit licenses are limited to 5 sites.

      The rate will stay the same for as long as you keep your non-profit site and choose to renew.

      In order to qualify for this special pricing, you’d first need to complete this form. This will initiate the approval process.

      Once you’ve submitted the form and been approved, we’ll reach back out to you with a special checkout link so you can receive the nonprofit rate.

      Hope this helps! 🙂

  2. Is it possible to create a recurring dates field in the Blog Post Submissions add-on that can be mapped to The Events Calendar? Or is there a workaround?

    1. Hi Legha, thanks for reaching out to us.

      I apologize that it not possible at the moment to create a recurring date field. I apologize we can’t provide what you are looking for at the moment but I’ve made a note for the feature.

      It is worth mentioning that, the Event Calendar plugin does not recommend setting up a recurring event on their end. Because, a long-term recurrence pattern with hundreds of instances could place a significant burden on your database, slowing your site and events down considerably. Please check more details from the Event’s Calendar plugin here: Never-Ending & Long-Term Recurrence Patterns

      Thank you and have a good one!

    1. Hi Saleem, thanks for reaching out to us!

      Currently, it is not possible to show the available Google Calendar Events in the WPForms date picker. I apologize that we can’t be able to provide what you are looking for at the moment.

      I’ve noted your interest in this feature and added your email to our list to receive updates about this feature.

      Thanks and have a good one!

  3. How can we allow users to create event tickets? We have both The Events Calendar Community Events and Community Events Tickets and Event Tickets Pro.

    Is there a way to allow them to create a ticket in the form when submitting? You mention it at the top of the page but it is not in the article.

    Thak yo,


    1. Hey Simon — We are sorry for any trouble. In order to make sure we answer your question as thoroughly as possible and avoid any confusion, could you please contact our team?

      To access our email support, please submit a support ticket and we will get back to you.


      1. If the date of the event has to be changed or the wpform entry to get deleted or the wpform entry needs to change date or starting hour will this change also update the event or the otherway around?

      2. Hey George – If you decide to make changes to the WPForms Entry date, those changes will only affect the WPForms entry itself. The corresponding event, such as the actual event listing or calendar, will not be automatically updated with these changes. So, modifying the WPForms entry won’t automatically update the event information.

        Having said that, if you make changes to the event details separately from WPForms in the Events Calendar plugin, those changes will not automatically update the corresponding WPForms entry. The WPForms entry and the event are independent of each other.

  4. Hello,
    I’ve followed all the steps to create a time off calendar that our team members can fill out the form to complete. Its an easy way for us to know when people will be out of the office, etc. The issue i’m running into is that I have the additional meta fields created to allow auto-posting without approval. Once an event is created though, it won’t appear until I go into the event and press the update button. Am I missing something?

  5. hello, is there a way to do the same thing with a booking calendar ?
    we need the calendar for room reservations so we want the room to be classed as unavailable if another user has already booked it

    1. Hey Mariem – We currently don’t have the feature to prevent double booking in the plugin. I do agree this would be a handy feature to have, and I’ll add this into our feature request tracker so that it’s on the radar of our developers.

  6. Is it possible to have WP Forms create an Organizer post type from this plugin?

    I’ve installed everything, and I see the Event post type, but not the Oranizer (or Venue) post types.

    Thanks! 🙂

    1. Hey Daniel – I apologize, currently, the fields starting with _Venue or _Organizer won’t work with the event post type. Since this involves a 3rd party plugin, I’d suggest you to please check with the Events Calendar plugin support team to see if they can come up with a workaround. In the meantime, I’ll also add this to our list of feature requests so that it’s on the radar of the developers.

      Thanks 🙂

Add a Comment Cancel reply

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our privacy policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.