"...really, really nice. Great job"
— Cam McVey What They Say


You can publish single or multiple-day events. They can recur weekly, monthly or yearly (with optional end date). Maps and directions can also be included. Events can be shown in a monthly calendar or in list format.

Events Pages

Main Events Page

First you need to create a page that shows the events.

  1. Go to Pages > Add New.
  2. Enter a title such as “Events” and any content that you want to appear at the top.
  3. Under Page Attributes, set Template to “Events – Upcoming” (list format) or “Events – Calendar” (monthly calendar).
  4. Optionally set a Featured Image (see Section Banners for related information).
  5. Click Publish.

Add Event Page

Optional Events Pages

Past Events PageYou can choose to make additional pages that show events in different ways. These page templates are available to you.

  • Events – Calendar shows a monthly calendar
  • Events – Upcoming lists upcoming events soonest first
  • Events – Past lists past events in a similar manner

Monthly Calendar Tips

Here are tips for using the “Events – Calendar” template.

  • You can go to Settings > General to make Week Starts On Sunday instead of Monday (the WordPress default).
  • If your theme has a sidebar, it is recommended to hide it to allow the calendar more space. See the Options box when editing your page to hide the sidebar.

See Page Templates for more information.

Event Categories

Optionally organize events into categories such as children, classes, etc. You can then use a widget in the Events Sidebar to list the categories or link to them from your menu. Some of our themes do not have a sidebar. Instead, they automatically list event categories in the header.

  • Go to Events  > Categories.
  • Complete the form to add a category.
  • View, edit and delete them on the right.

Event Categories

Managing Events

Adding an Event

  1. Go to Events > Add New.
  2. Enter a title for the event.
  3. Use the content editor to write information about the event.
  4. Fill in the details under Date & Time (Start Date is required).
  5. Fill in the optional details under Location (venue, address, map).
    Note: You must set your Google Maps API Key in order for maps to work.
  6. Optionally enter details for Registration (see Event Registration below).
  7. Write a short Excerpt summarizing the event.
  8. Optionally select or add the Category that this event belongs to.
  9. Optionally click Set featured image to set upload an image representing the event.
  10. Click Publish.

Editing and Deleting Events

  1. Go to Events > All Events.
  2. Hover over an event to see the Edit and Trash options.

Recurring Events

Events can be set to recur weekly, monthly or yearly on the same day. When an event ends, its dates are automatically moved forward. You can use this feature by choosing an option in the Recurrence field (see screenshot above). You may optionally provide a date for automatic recurrence to end after.

Install the Custom Recurring Events add-on plugin for additional options like “every 2 weeks” and “every second Sunday”. The plugin has its own User Guide.

Are your events not recurring? See the Troubleshooting section below.

Event Widgets

Go to Appearance > Widgets and drag widgets into the Events Sidebar (if your theme supports a sidebar). These widgets will appear on all event-related pages.

You can show any widgets in a sidebar but the CT Events widget is especially relevant. It can show upcoming or past events. It’s also useful for showing upcoming events on the homepage.

Read the Widgets guide for more information.

Event Registration

There are several solutions you can use for event registration.

  1. A basic solution is to use a form plugin like Contact Form 7, Ninja Forms or WPForms to embed a registration form into your event’s content (using a shortcode). These are free and will email you each registration (form submission). Ninja Forms and WPForms can also store submissions in your WordPress admin area and you can buy an add-on to accept payments.
  2. Tickera is a WordPress plugin made specifically for selling event tickets.
  3. If you are using a church management system (ChMS), it may have an event registration feature that you can link out to. You can use the Registration URL field for this and it will cause a Registration button to show.
    Event Registration Field
  4. If you need something more sophisticated (e.g. selling tickets), consider linking out to a service like EventBrite (free for free events), Bizzabo or Yapsody. TypeForm is another possibility. You can use the Registration URL field for this also (see screenshot above).

Please let us know what works best for you so we can refine these tips for other churches.

Photo Galleries

Photo galleries can be embedded in event content. This is something you may want to do after an event has ended or to show photos from a previous occurrence of the event. See the Galleries guide for information.

Event Troubleshooting

There are some things you can check if your events are not working as expected.

Event Not Showing

  • Make sure the event has a Start Date or End Date that is today or future in order for it to show on Upcoming Events.
  • If your events page is not showing events, make sure it is using the Events – Upcoming (or Events – Past) template.
  • If events are not showing in the CT Events widget, make sure the widget is set to show Upcoming or Past accordingly.

Event Not Recurring

  • Check your event to be sure that it is set to recur as expected.
  • Are you using a caching plugin? If so, be aware that caching plugins can interfere with WordPress’s ability to run scheduled tasks, such as moving an event’s date forward, publishing scheduled posts, etc. You should setup a cron job manually to ensure various WordPress maintenance is completed.
  • There are other reasons WordPress may not be firing scheduled tasks. Install Debug Bar and Debug Bar Cron then click “Debug” at the top of your admin area. If the “Cron” section shows all dates in the past then WordPress’s simulated cron is not executing as expected and you should setup a cron job manually.

Common Questions