Skip to content
WordPress Guide

How to Add an Events Calendar in WordPress

Choose between a simple event list, an events plugin and an embedded Google Calendar, then set it up so past events, time zones and repeating events do not confuse visitors.

A desk with website wireframes, a phone and coloured pens
9 sections · 7 min read
In this article · 9 sections

Right now your upcoming classes, workshops or open days probably sit in a list on one page that someone edits by hand. It works until it does not: last month’s event is still at the top, a date was changed in the newsletter but not on the site, and someone in another country turned up an hour late because the time had no time zone next to it.

If you want to add an events calendar in WordPress, the choice is mostly about how many events you run and how much each one needs its own page. There are three realistic options. Whichever you pick, the same three details cause most of the confusion later: past events, time zones and events that repeat.

Do you need a calendar, or a list?

A month grid looks impressive, but on a phone it turns into tiny squares, and for a business with two events a month it is mostly empty. Ask what visitors want to know. Usually it is “what is coming up next, when, where, and how do I join?” A clear list answers that better than a grid.

Your situation Best fit
A few events a year, little detail each A simple list on a page, updated by hand
Regular events, each needing a description, venue and sign-up link An event plugin, with one page per event
Your team already runs everything in Google Calendar An embedded public Google Calendar, with its limits

Option 1: a simple list you update by hand

For occasional events, a heading and a short block per event is honest and quick. Give each one the date, start and end time with time zone, place or online link, and a button to book or ask. Put the next event first. The catch is discipline: someone has to remove each event when it has passed. If that will not happen reliably, a plugin that does it for you is worth the extra setup.

Option 2: add an events calendar in WordPress with a plugin

Event plugins create a separate type of content for events, with fields for dates, times and venues, and they sort and hide events by date on their own. Well-known ones include The Events Calendar, Events Manager, Modern Events Calendar and Sugar Calendar. They differ in layout and features, so compare a couple before you start entering events; moving dozens of events between plugins later is tedious.

The steps below follow The Events Calendar, which is widely used, but most event plugins work in a similar way.

  1. Check your time zone first. Go to Settings → General and set the time zone to a city, such as Kolkata or London, rather than a UTC offset. A city follows daylight saving changes; an offset does not. Event plugins usually take their default from this setting. There is more on city versus offset in WordPress time zone settings.
  2. Install and activate the plugin. If you have not installed one before, see how to install a WordPress plugin. Take a backup first.
  3. Look through the settings. The plugin adds an Events menu to the dashboard, with its own settings inside. Check the date format, which views are available (list, month, day) and the address of the main events page.
  4. Add venues and organisers once. If you hold events in the same place each time, save the venue so you can pick it from a list instead of retyping the address.
  5. Create your first event. Add a title, a description of who it is for and what happens, the start and end date and time, the venue, and a link to book. Add a featured image if your theme shows one.
  6. Check the event page and the main events page on desktop and on a phone. Make sure the date, time and booking link are visible without scrolling far.
  7. Add the events page to your menu, and link to the next event from the pages where people are likely to look for it.

Most event plugins also offer blocks or widgets to show the next few events elsewhere, such as on the home page. That small “coming up” list often does more than the full calendar page.

Selling tickets or taking bookings

Taking payment or limiting places is a bigger job than listing events. Many event plugins have add-ons for tickets, and some sites link each event to an external booking service instead. Decide this before you choose the plugin, because changing later means re-entering events.

Option 3: embed a Google Calendar

If your team already keeps every event in Google Calendar, you can show that calendar on a page. Google Calendar’s settings for each calendar include an embed code. The calendar must be made public for visitors to see it, so check that it holds nothing private first. Paste the code into a Custom HTML block.

It is quick and always up to date, but it has real limits:

  • It looks like Google Calendar, not like your site, and has limited styling.
  • Events have no pages of their own on your site, so there is nothing for search engines to find and nothing to share.
  • It loads content from Google, which can slow the page and may need consent before it loads under privacy rules in some countries.
  • Anyone with edit access to that calendar can change what appears on your website.

Past events: keep, hide or delete?

Event plugins usually move finished events out of the upcoming list automatically, but the event pages stay unless you delete them. That is a decision worth making on purpose.

  • Keep pages for events with lasting value: a talk with notes or a recording, an annual event people search for by name. Add a line at the top saying it has finished and link to the next one.
  • Delete thin pages with nothing but a date. If one had links from elsewhere, redirect it to your main events page.
  • Check the plugin’s settings for options to hide or remove past events. Some can clean up old events automatically after a period you choose.

Time zones for online events

For an in-person event, local time is obvious. For an online event with people joining from several countries, write the time zone next to every time, such as “6:00 pm India time (IST)”. Some plugins can show each event’s time zone or let you set one per event, which helps if you run events for different regions. Test a scheduled event after the clocks change in spring and autumn if your audience lives where daylight saving applies.

Repeating events

A weekly class creates a lot of entries if you add each one by hand. Many event plugins support recurring events, though not every version of every plugin does, so check the plugin’s documentation before you commit. If yours does not, one event page that clearly says “every Tuesday, 7 pm” may be enough, with changes announced at the top.

Small things that confuse visitors

  • Running two event systems. A plugin calendar plus a hand-made list on another page will drift apart. Pick one.
  • Dates only in the image. A poster image is fine, but put the date and time in the text as well.
  • No end time. People plan around when it finishes too.
  • Booking links that expire. Check external booking links still work a day or two before each event.

An events plugin is a bigger commitment than most additions, because it stores its own content. The questions in our guide to adding features to a WordPress website are worth answering before you install one, and the WordPress site owner’s handbook covers the routine care afterwards.

Frequently asked questions

Why do my event times show one hour off?

This is usually a time zone setting. Check Settings, General and make sure the time zone is a city rather than a UTC offset, then check the event plugin’s own time zone options. Open one older event afterwards to confirm its time is still right. Daylight saving changes are a common trigger when an offset is used.

Can visitors add my events to their own calendar?

Many event plugins include an option on each event page to add it to Google Calendar or download a calendar file for Outlook and Apple Calendar. Check your plugin’s event page on the live site. If it is missing, look in the plugin’s display settings before installing anything extra.

What should I do when an event is cancelled or postponed?

Do not delete it straight away, because people may have saved the link. Edit the event so the title or first line says cancelled or postponed, add the new date if there is one, and remove the booking button. Once the original date has passed, you can delete the page or redirect it.

Can I import events from a spreadsheet?

Some event plugins can import events from a CSV file, which is useful when you are moving a long list from a spreadsheet. Check the column format the plugin expects, try a small file of two or three events first, and review the imported dates and times before importing the rest.

Most of the trouble with event calendars comes from settings rather than code, so it is worth going through the time zone and past-event options once more before you ask for help. If the calendar page has stopped loading or you would like a hand choosing a plugin, our WordPress support services cover that.

Next in this series: How to Add a Team Page in WordPress

Is Your Website Working Properly?

Get a free website health check from WebMaintor. We'll review your website's speed, security, forms, and technical health — and tell you exactly what needs attention.

No obligation. No automated reports. A real review by our team.