How to Create a User Submitted Events Calendar in WordPress

How to Create a User Submitted Events Calendar in WordPress

Do you want users to submit events to a calendar on your website? It can be a great time saver when you let your community help organize the events.

In this article, we’ll show you how to create a user submitted events calendar in WordPress.

Why Use an Event Submission Calendar?

It’s helpful to have an events calendar on your website for displaying…

  • local community events
  • organization functions
  • sales or specials
  • sports matches

…and many other types of events for site visitors to see and attend.

Allowing your users to submit events instead of adding them all yourself is a great way to engage your audience and save yourself some time. You can even make money online if you charge for event listings posted to your website’s calendar.

Let’s take a look at an easy way to allow users to add their events to your site’s calendar.

WPForms is the best WordPress Form Builder plugin. Get it for free!

Step 1: Create an Event Submission Form

The first thing you’ll need to do is install and activate the WPForms plugin. 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.

To do this, go to WPForms » Addon and find the one labeled Post Submissions.

Click Install Addon and then Activate.

WPForms Post Submissions Addon

Now you’ll need to create a new form.

Check out out tutorial on how to create a simple contact form as an example to get started.

Here’s what our form looks like:

event calendar form

In our form, we added these fields to the simple contact form:

  • Event Title is a Single Line Text field
  • Start & End Time are two Date/Time fields
  • Promotional Image is a File Upload field

You can add additional fields by dragging them from the left hand panel to the right hand panel.

Then, click on the field to make any changes. You can also click on a form field and drag it to rearrange the order on your user registration form.

If you don’t want to customize a simple contact form, you might look into using the Event Planner Form template found in the Form Templates Pack addon. This template comes with many of the form fields your site visitors will need to fill out to submit their event to your calendar. And you can even take it a step further and add a cool number range slider to your form to ask about budgets.

If you decide you want to monetize your website, and charge users to submit their event on your calendar, read this documentation on how to allow users to choose a payment method on your WordPress forms.

Click Save.

Step 2: Create a Calendar

Next, you’ll need to create a calendar for users to add their events to. For this, you can use The Events Calendar. This is a free plugin for WordPress websites.

Note: You can create recurring events with the Pro version of The Events Calendar.

For now, let’s do this for a single event. To do this, go to Plugins » Add New in your WordPress dashboard and search for “The Events Calendar” plugin.

Click Install Now and then Activate.

the events calendar plugin

The Events Calendar is now ready for you to use.

This plugin will create a custom post type called Events that will appear in your WordPress dashboard. Custom post types work the same way that posts and pages work. The Events custom post type will, however, remain separate from your site’s posts and pages.

You can preview the calendar that is created after installing and activating the plugin at

For now, it won’t show much information since you don’t have any events submitted yet.

Step 3: Connect Your Form to Your Calendar

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

To start, go to Settings » Post Submissions in the form editor and turn post submissions On.

turn post submissions on

Next, you’ll want to match each field to the relevant part of the event custom post type.

In our example we chose:

  • Event Title for the Post Title dropdown
  • Description for the Post Content dropdown
  • Promotional Image for the Post Featured Image dropdown

We also set Post Type to Events (the custom post type created by enabling The Events Calendar plugin), and Post Status to Pending Review so that you can approve each submission before it goes live on your site.

post submissions settings

Now you can scroll down to the Custom Post Meta section.

The last part of connecting your form to the calendar is to add just a bit of code here. This will connect the start and end times in your form to the start and end times in the calendar.

We’ve shown you the code you need to include in the image below, but you can look up any other custom meta code that The Events Calendar offers if you want to customize your calendar even more.

the events calendar custom meta

Click Save.

Step 4: Customize the Thank You Message

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

You can do this by going to Settings » Confirmation. In the preview panel, customize your message in any way you like.

customize confirmation message

You can also send users to a designated thank you page or a separate website altogether after they’ve submitted an event to your website’s calendar.

For help with these type of form confirmations, check out this helpful documentation on how to set up form confirmations in WordPress.

For inspiration, you can also check out these helpful articles:

For help with customizing multiple confirmation messages, check out how to create multiple form confirmations in WPForms.

Step 5: Publish Your User Submitted Events Form

WPForms allows you to add your forms to many locations on your website, including your blog posts, pages, and even sidebar widgets.

Let’s take a look at the most common post/page embed option.

To start, create a new post or page in WordPress and then click on the Add Form button.

Next, select your contact form in the modal popup and click Add Form.

add user submitted events form

Then, publish your post or page so your form will appear on your website and users can begin submitting their events.

Step 6: Review and Publish Event Submissions

After your form is live on your site, you just need to approve the events users submit. To do this, go to Events in the WordPress dashboard.

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

Click Edit underneath the event title.

review event submission

Preview the submission, taking special note of the Time & Date near the bottom of your screen. This will be the time listed on your calendar.

event calendar time

When you’re finished reviewing all the event details, click Publish. Then you can view your events calendar at

When the user hovers their mouse over the calendar event, they’ll see a preview popup. By clicking on it, they’ll get the full event listing.

example calendar submission

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

Do you want to allow clients to schedule appointments on your work calendar? You might also want to check out our guide on how to create a client booking form.

So, what are you waiting for? Get started with the most powerful WordPress forms plugin today.

And don’t forget, if you like this article, then please follow us on Facebook and Twitter.

Using WordPress and want to get WPForms for free?

Enter the URL to your WordPress website to install.


  1. Is there a way for the events to be auto approved, without requiring someone to manually accept them? Also, can the user who submitted the event remove it?

    1. Good question, Jennifer! You can set up your events to be auto-approved by editing your form and navigating to Settings » Post Submissions, and then changing the Post Status option to Published, as you can see in the screenshot here:

      auto publish submitted events

      The event is similar to a blog post (it’s a custom post type), so the user won’t be able to remove/delete it unless they have access to your site as an Editor or Administrator.

      By default, you’ll always get an email notification when someone fills out your forms. You can customize your notifications or add additional ones (like a confirmation email to the user, for example).

      Feel free to get in touch if you think of any other questions, or need help setting this up 🙂

      1. I’ve tried this. The events create correctly, and show up in the admin panel as an event, but not actually on the calendar. If I edit the event, and simply save it, it then shows up on the calendar.

        So there’s a disconnect somewhere.

      2. This won’t quite work.

        The reason it works when it’s not published is that when you edit the entry (to make it published) a number of other fields are added to the entry created by WPForms, some of which are required to make it appear on the calendar. When you try to move it straight to published, those fields aren’t added, and it won’t appear.

        you can fix that tho. you have to add two more custom fields: _EventStartDateUTC, and _EventEndDateUTC . You can use StartTime and End Time for those values as well.

      3. Hi Rick, thanks for letting us know!
        I have forwarded this information to the team.

        Have a good one 🙂

  2. I love this post, and I’ve referred back to it a few times. This is so useful.

    Has anyone setup any other fields in the Custom Post Meta?

    What about event location, what about event host? or cost?

    I’d love to know if I’m approaching this correctly, right now I’d just guess what the meta field would be

    1. I just saw your link for the Events Calendar custom meta code. Thanks for that!

      I’m having a problem though with my custom post meta – specifically for the event start and end dates.

      The meta code is _EventEndDate

      And when I save the form, it becomes _eventenddate

      and doesn’t seem to work. Any ideas on how to get this working?

  3. Any suggestions on how to do the same thing with front end submissions, but submitting through a payment process like with PayPal?

    1. Hi Mark,

      You can absolutely do this along with a PayPal requirement. You would essentially do exactly what is described in this post, then add a cost and payment on top of that. In case it helps, here’s a tutorial on how to set up PayPal in your forms.

      One thing to note is that since PayPal payments are processed off-site, you’ll need to manually monitor whether those payments were completed before publishing the user-submitted event (whereas with Stripe, the payment must be completed and successful before the form can be submitted).

      If you have any additional questions about how to get this set up, please feel free to contact us in support!

  4. Will this connect to Google Calendar and is there an option to avoid conflict while approving. I notice that you also have an auto approve option which would mean that it qualifies the availability. Thanks.

    1. Hi Chander,

      Sure! It’s possible connect with Google Calendar with our Zapier addon, which is available with our Pro and Ultimate license levels. We have a tutorial on how to set that up if you’d like to check that out 🙂

      However, this integration can only go one way — events can be sent from your form entries to Google Calendar, but dates and times in your forms can’t be blocked off based on existing events.

      I hope this helps! If you have more questions about this, please get in touch 🙂

    1. Hi Jeane,

      Great question. While our File Upload field will absolutely accept PDFs, there isn’t a great way to automatically send a PDF to an Events Calendar event from a form submission. The issue is that a PDF would need to be added within the main content area, where an event description would generally go. This is also true for regular WordPress pages/posts, since there isn’t a separate field in the editor to add these (whereas a featured image has its own specific spot in the editor).

      So in order to add PDF to an event, you’d need to manually edit the event listing to add a PDF link. In case it helps, here’s WPBeginner’s tutorial on how to create links to PDFs.

      I hope that helps! If you have any questions, please let us know 🙂

      1. Hi Jess,

        I see what you mean. So, if we used this WPForms scenario to add community events to “The Events Calendar” plugin, could we have the user upload a PDF with the submission and then manually attach it on the backend? Or, will it just not work?

        Thanks in advance!

      2. Hi Jeane,

        Yes, that’s correct — that approach will work 🙂
        So the general sequence would go something like this:

        1) Receive entry with an uploaded PDF (you can set this to send straight to your site’s Media Library if you’d like)
        2) Open the editor for that event, and add a PDF download link (here’s a screencast video to demo)
        3) Save event

        The events editor works pretty much the same as a regular WordPress page/post, so that luckily makes it pretty easy.

        If you have any other questions, please let us know in support and we’ll be happy to help!

  5. I want to have this on my site but I want the events to be from all over the country. A drop down menu to all 50 states and the events to show only in those states.

    Also the calendar to those states can be accessed by anyone, however to submit an event the user must be registered on the site before they can submit. Imagine having a “submit an event here” button but takes them to the log in page if they are not logged in and then allows access to this form after they are registered. I hope I made this clear enough. Is there a way to do this?

    1. Hi Eli,

      For the states part of your question, it would be best to ask the Events Calendar team 🙂 They should be able to provide more details on how this would work/if it’s an option, and if so we could help you connect your form to pass that data along when an event is made.

      Also, we don’t currently have a way to restrict access to forms, however you could consider using a plugin like Restrict Content (which is free) to achieve this.

      I hope this helps! If I’ve misunderstood what you’re looking for in any way, or if you have any other questions, please let us know 🙂

  6. Hi the events calendar plugin community events which users would use to submit events doesn’t have the ability to let users pay for event listings. Do you know of a way to still use the events calendar and set it up so users can pay to list events?

    1. Hi Amy,

      Great question, and I believe this should still work. To be certain, though, I’d recommend reaching out to Modern Tribe to ask if their meta keys are the same for this plugin as for the regular Events Calendar (so the same as above: _EventStartDate, etc). If not, they should be able to let you know the meta keys you’d need to use.

      I hope this helps! If you have any other questions about this, please feel welcome to contact our support team 🙂

  7. Do you know of a simplified way to have all data/fields from each event displayed in an customer interactive/sortable front end spreadsheet style list view. Basically, allowing any customer to sort the events based on all desired visible fields. I.E. sort in list view by date, name, or any other custom fields?

      1. Hi Mike,

        I apologize, but this functionality would actually fall to the third-party events plugin your using — such as The Events Calendar plugin described above.

        In case it helps, here’s the link to their free version support, and here’s the link to their main website’s support page.

        Based off of this discussion thread I found, it sounds like this type of filter functionality may require a paid addon through them — but their support should be able to clarify that further.

        I hope that helps you to find what you’re looking for! 🙂

  8. Hi,

    I’m wanting to set up a system to allow each user to have their own personal calendar they can add events like people’s birthdays to. This would be private and based on their entries we could send reminders for the events. With links to products we sell as gifts for the events. Is this possible?

  9. Will I be able to send email or text notifications to those who sign up (given there is a signup form) for an upcoming event? For instance, we have a Valentine banquet in our church and all who will be attending can be notified of this event one week in advance if they sign up for email or text notification.

    1. Hi Billy,

      Our forms can send a notification email immediately after a form is submitted, but the best way to follow up like this is to use an email marketing service. That way, you can add everyone who’s attending an event to a mailing list to easily contact them all at once (and schedule emails in advance) — and if you’re still collecting event registrations, you can automatically add users to your mailing list by integrating it with your forms.

      We have a bunch of email marketing integrations: Constant Contact, which is available to everyone, and with our Plus license level or higher there’s also MailChimp, AWeber, and more.

      If you have additional questions or would like more details, please get in touch and we’ll be happy to assist 🙂

  10. Hi there I am interested in this integration – would this replace the need for Community Events as far the event submission portion? Also is there a way to include event categories for the user to select on the form?


    1. Hi Justine,

      Great question — and yes, from my understanding of Community Events this events submission process is very similar. Also, I did some testing, and I was able to get the event category to work with this. Here’s how I did that (this is in addition to the steps described in the tutorial above):

      1) I created the categories I wanted within The Events Calendar plugin (under Events > Event Categories).

      2) In the form builder, I added a Dropdown field and named it Category. Then within its Field Options panel, I opened Advanced Options and set Dynamic Choices to Taxonomy, then Dynamic Taxonomy Source to Event Categories (here’s a screenshot of that).

      3) In the form builder under Settings > Post Submissions, I added a line of Custom Meta. In the first box I added tribe_events_cat and in the second I selected Category (the name of the Dropdown field I just made). Here’s a screenshot of this.

      That’s it! When I submitted my form to test this out, my event was successfully assigned a category (here’s a screenshot).

      I hadn’t had a chance to try that before, so thanks for asking! And if you’d like to collect more event details, you can do that using The Event Calendar’s custom post meta list.

      I hope that helps! If you have any other questions about event submissions, please get in touch 🙂

      1. Wow Jess – Thank you SO much for checking into that for me! This really looks very promising. Do you know if it is possible to create two separate forms to add events through. For example a logged in user might have access to one version of the form – while a logged out user has access to a different form (maybe with less fields) – but they would both submits events to the calendar.

  11. Hi there,
    I was successful to use the Custom Post Meta for date, time, url and the dynamic taxonomy for the event categories but I’m not able to link Venue and Organizer.

    I used the Custom Post Meta: _OrganizerOrganizer and _VenueAddress
    Should I be using something else?

    1. Hi Esther,

      We’d be happy to help! When you get a chance, please drop us a line in support so we can assist. Since it sounds like you have a WPForms license, you have access to our email support, so please submit a support ticket.

      Thanks 🙂

  12. Is there a way to utilize this with Elementor, to create an event page that looks like this- [URL removed]

    Right now, I have it looking how I want it to look, but I have to manually add submitted events and format them, which can be time consuming once I move it from dev to live and have users submitting events. Since Events is simply a custom post type, and this setup just changes the user view of posts, it should theoretically work, right?

    I’ve already lost $30 on a plugin that doesn’t work and has no refunds. I’m on disability and trying to do this to help out indie authors, so I’d prefer to know if something will work this way before investing time and/or money into it. Thanks! 🙂

    1. Hi Mandi,

      I took a look at the site you shared, but I apologize as I’m not sure I understand how you’d like your forms to work differently/what features you’re looking for. When you get a chance, could you please contact us with some extra details?

      Thanks! 🙂

  13. As I understand from above, that if I use PayPal, I have to manually monitor payments to determine if they are successful then manually post or approve the submitted event. This because PayPal processess the payments off site.

    What about Square, they are different than PayPal and work similar to Stripe. Would Square allow the submitted event to be automatically posted when the payment is complete, or is that a manual one like PayPal also?


    1. Hi Mark,

      We don’t currently have Square integration, but it sounds like our Stripe addon should be a good fit. With Stripe, you’d add a credit card field directly to your form — and so the user won’t be allowed to submit your form until the payment is accepted.

      If you have any additional questions about this, please feel welcome to get in touch! Thanks 🙂

  14. Wanted to clarify,

    Can this Post Submissions Add-on plugin from Wp Forms work with other calendar plugins like Wp Event Manager?


    1. Hi Mark,

      Sure, I’d be happy to share more details on this. So essentially, our Post Submissions addon should be able to work in this same way for any plugin that uses a custom post type in WordPress (so sticks to the native WordPress functionality, rather than generating their own datatables). Their support team or plugin author should be able to answer this.

      Also, some plugins make it a bit easier/harder to find the meta keys you need (like the `_EventStartDate` meta key you see in the tutorial above). Meta keys will be specific to each individual plugin, so I’d suggest also asking their support for these. You’ll need meta keys for any custom field in their post (so any field that doesn’t exist in a normal WordPress post).

      Hopefully these details are helpful! And if you have any additional questions about how this works/the information you’d need, please get in touch 🙂

  15. Hi,

    Is there a way to create recurring events using this?

    Events Calendar have an option that I can specify if the event repeats daily, monthly… Is it possible to use something like this with User Submitted Posts plugin?

    1. Hi Victor,

      I took a look, but unfortunately I wasn’t able to test this out for you as recurring events is a premium option in the Events Calendar. While I believe this will most likely work, it will depend on how they set this recurring option up within their plugin.

      If you have any questions about how you could test this out, though, please feel welcome to reach out to our team.

      Thanks! 🙂

    1. Hi Thomas,

      To connect the form and the calendar, you’ll need to go to your form’s settings and go to Settings > Post Submissions, make sure that post submissions are ON and match each field in the form to the event custom post type you created. Next, you’ll need to set up the custom meta code by scrolling down to the bottom of the page. You can follow the example that we included in this screenshot.

      I hope this helps! 🙂

  16. Hello there these posts and replies are very helpful
    I saw above someone asked if it was possible to create the form to include the city and state of the event which would then, hopefully, allow site visitors to view events that were upcoming in their cities and states? Is this possible or is this something another group would answer?

  17. Hello,

    I’m trying to figure out if users who submit events can get paid directly through the woocommerce and sell tickets add-ons. A user has a user account, creates a paid event, sets up their own payment (paypal, stripe, etc), and can directly receive payments for sold tickets. Is that possible?

    Thanks in advance

    1. Hi Isaac,

      Unfortunately we don’t offer any integration with WooCommerce mainly because they’re heavily integrated with their own forms systems. I apologize for the inconvenience!

  18. Hi
    I created the form and setup the Post submissions and it works bringing in only some of the fields in my form (the ones selected in the post submission setup). I have another field on my form for the user to add the location of the event called “Event Location”.
    How do I get this field to import into the event calendar with the rest of the information. Is it through the Custom Post Meta. If so how do I set it up

    1. Hi Steve,

      Currently in the post submission form, you can map post submissions to a single custom post type. Unfortunately Event and Venue are all separate custom post types in the Events Calendar plugin according to their docs, and the venue post meta data can only be used when mapping to the Venue custom post types.

      We don’t have the option to map to multiple post types for now. 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. I apologize for the inconvenience!

  19. I’m thinking of setting up something like this for clubs and bars to post their events to. The island is quite large so there may be many events every day, could I set up an area search to just bring up posted events in the south for example?

    1. Hi Dave,

      We don’t have a way of creating an area search or a search type of field but I’ve made a note on our feature request list so we can keep it on our radar! Thanks for the suggestion 🙂

    1. Hi Timothy,

      You’ll need the Post Submissions addon for this which only comes with our Pro license level or higher. I apologize for the confusion.


  20. Hi, I’m reaching out to you guys as I’m interested in getting the pro version, but however, there are only 2 features that I would like to test it out before I make the full purchase.

    The 2 features that I would like to test it out is the “Post Submission” and “Zapier” functions. Which I need it for my POC (proof of concept) to get it running.

    I’m aware that I have to make the full purchase and I will be granted the 14 days refund policy. However, I’m from the government agency and I’m not allowed to make the purchase yet due to certain strict rules that I have to follow.

    Was wondering if there is any hotline/number that I could contact that would it easier for both parties to make an agreement.

    1. Hi Ryan, hope you are doing great!
      There are no other ways around this, unfortunately, so you can only try it if you buy a license (Pro in your case). You can actually purchase it as a private person and not on behalf of your company as you are totally safe with this. Literally, if you don’t like it, or it is not a good fit for you, we can fully refund you for your purchase, no questions asked!
      Hope this helps! 🙂

    2. Ryan, Zapier currently doesn’t work to read the Event Start Date and Event End Date for reasons that Zapier reports as some sort of bug.

  21. Hi,

    I have bought a pro version

    I am using wpform for wp event manager.
    [link removed]

    i have few queries

    1) In wp event manager there is event category and event type both are not displaying when I use taxonomy. it is very important

    2) wp event manager has a different custom field for date and time but wpform is taking it as 1..

    3) after the form is completed I want to send an email if the user is not registered with user details along with the form filled.


    1. Hi Viren!
      WPForms can populate successfully any WordPress Taxonomies or post types. In case you can access your Events’ categories or post types, then I would recommend contacting this third-party plugin support team and ask them for help with this.
      You can set up a form notification to both, yourself and the user who has submitted the form under the Notification tab in the form builder.
      For more details, please check out this article on our site.
      I hope this helps.
      Have a good one 🙂

  22. Hi all… Using WPForm & the Events calendar. Can you tell me how I go about getting the timezone to map over to The Events calendar? Date & Time is working perfectly., but we have users that submit their events from all parts of the US. Thanks!

Add a Comment

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.