If the calendar source has upcoming events but the WordPress events page shows none, the problem sits between the data and the page. The usual suspects are a stale page or CDN cache, the events’ status or visibility settings, one calendar view behaving differently from the others, a blocked request, or a theme or plugin conflict. Work from the cheapest check, a logged-out view, to the most disruptive, conflict testing.
Start by confirming the calendar source has upcoming events. If you haven’t, run the source file through the ICS event checker or follow ICS file has no upcoming events. Everything below assumes the source is fine and the website is not.
The steps use The Events Calendar, the most common WordPress events plugin, for specific settings. The order applies to any events plugin.
Pin down exactly what is missing
“The calendar is broken” is hard to fix. Write down:
- the exact page address, and which view it is (List, Month, Day);
- two or three specific upcoming events from the source that should appear, with dates;
- whether you were logged in, and on which device.
Then check what the server actually returns. A blank events list usually comes with a normal 200 status, which is why uptime monitors don’t notice:
curl -sS -o /dev/null -w '%{http_code}\n' "https://example.org/events/list/"A 200 only means the page loaded, not that it listed anything.
Look at the page as a visitor would
Open the page in a private window, logged out. Logged-in administrators often bypass page caching, so you can see a correct page while visitors are served a stale, empty one.
If the logged-out page is empty, purge the site’s page cache and any CDN, then check again. The Events Calendar’s documentation names stale caching as a common cause of missing events and recommends letting cached /events* pages expire after 12 hours rather than a long default.
The plugin also has its own Month View Cache, which stores Month view HTML for up to a day. Its caching article places the setting in Events → Settings (General → Viewing at the time of writing). Turning it off and on again refreshes it.
Check the events themselves
Open one of the missing events in the admin and check:
- Status: it must be Published. Drafts, pending and private events don’t appear publicly.
- Dates: the start and end dates and times are right, including the year.
- Hide From Event Listings: in the event’s Events Options section. When ticked, the event is kept out of listings.
Then check time zones, which can move events to a different day or make upcoming events look finished:
- Settings → General → Timezone should be a city, such as London, not a fixed UTC offset. The Events Calendar’s documentation says to use a location-based zone so daylight saving time is handled.
- Events → Settings → Display → Date & Time sets whether events use the site-wide time zone or each event’s own zone. In site-wide mode, changing an individual event’s zone has no effect on the front end.
Compare the views
Open the same dates in List, Month and Day view. If one view shows the event and another doesn’t, the problem is specific to that view’s query, not the data or the cache.
There are public reports of exactly this. In one WordPress.org support thread, Day view showed “No events scheduled” for dates with a recurring event occurrence, while the same occurrence appeared in Month view, List view and the plugin’s REST API.
If the site’s REST API is reachable, it is a quick way to see what the plugin itself returns, independent of the theme:
curl -s "https://example.org/wp-json/tribe/events/v1/events?per_page=5"If the events address redirects and gains ?tribe_redirected=1, the view you asked for is probably disabled. The Events Calendar’s documentation says to enable List view under Events → Settings → Display, save, and test again. In our test of version 6.18.3.1, a disabled List view returned a 404 at /events/list/ instead of redirecting, so treat a 404 there as the same clue. The Events Calendar List view empty? covers that view in detail.
Check for blocked requests and script errors
Calendar views load later pages and switch between views by requesting data from the site in the background. Security plugins (Wordfence is one example) and server firewalls (such as ModSecurity) can block those requests. The Events Calendar suggests temporarily disabling them to test, and asking the host about server-level rules.
Open the browser’s developer tools on the events page and look at:
- Console: red errors from scripts, especially after a plugin or theme update;
- Network: requests to
/wp-json/that return403or another error.
Re-save permalinks
After a migration, a domain change or a plugin or theme change, WordPress’s address rules can fall out of step and break calendar pages. Go to Settings → Permalinks and click Save Changes without editing anything, then reload the events page.
Test for a theme or plugin conflict
If nothing above explains it, check whether another plugin or the theme is interfering. Don’t do this by deactivating plugins on a live site.
The Health Check & Troubleshooting plugin from WordPress.org has a troubleshooting mode that disables all plugins and switches to a default theme for your logged-in session only. Visitors keep seeing the normal site. Enable The Events Calendar inside that session, check the page, then re-enable other plugins one at a time until the events disappear. A staging copy of the site works too.
After you’ve fixed it
- Check the page again logged out, in a private window, and look for the specific events you noted at the start.
- Write down what caused it. Caching rules, plugin updates and security changes tend to cause the same failure again later.
- Re-check public event pages after plugin updates, theme changes and cache configuration changes.
Limitations of this guide
- Setting names come from The Events Calendar’s documentation at the verification date above. Menu locations can change between versions, and some differ between the free plugin and Events Calendar Pro.
- The REST API path shown is The Events Calendar’s. Other events plugins use different endpoints or none.
- The guide can’t tell you which cause applies to your site. It gives you an order to rule them out in.
Sources
- Fixing Missing Events on the Calendar · The Events Calendar documentation (Nexcess) , accessed 7 Nov 2026
- Understanding Caching with The Events Calendar · The Events Calendar documentation (Nexcess) , accessed 7 Nov 2026
- Troubleshooting The Events Calendar Views · The Events Calendar documentation (Nexcess) , accessed 7 Nov 2026
- Timezones and Daylight Saving Time with The Events Calendar · The Events Calendar documentation (Nexcess) , accessed 7 Nov 2026
- Troubleshooting Subscribe and Export on The Events Calendar · The Events Calendar documentation (Nexcess) , accessed 7 Nov 2026
- Health Check & Troubleshooting plugin · WordPress.org , accessed 7 Nov 2026
- Support thread: Day view shows no events for recurring event occurrences · WordPress.org support forums , accessed 7 Nov 2026
Maintaining calendars for several clients? We’re recruiting five agencies to pilot automated checks Pilot