Beacon Calendar Feed

Description

Add the Calendar Feed block, paste your calendar’s address, and its events appear on the page in your theme’s fonts and colours: a list of what’s coming up, or a month grid. No iframe, no account, no API key.

  • Works with the calendars people already keep: Google Calendar (its public iCal address or its share link), Outlook / Microsoft 365 published calendars, Apple iCloud public calendars, and any other iCal (.ics or webcal://) feed.
  • Repeating events come out right: weekly classes on several days, “second Tuesday of the month”, “first and third Friday”, every weekday, yearly dates, skipped dates and single dates that were moved or cancelled. Each event keeps its own time zone, including Outlook’s Windows time zone names, and daylight saving doesn’t shift it.
  • Fast pages: the calendar is read on your server at most once an hour and kept, so visitors never wait for Google. If the calendar host is down, the last copy is shown.
  • Looks like your site: plain HTML with a few layout rules, so it takes your theme’s typography, colours and links. Wide and full width are supported.
  • List or month: choose how many events and how many days ahead for the list, whether to show the location and description. The month view has previous and next month links.
  • Nothing to set up anywhere else: no settings page and no admin notices. Everything is in the block.

Problems with a calendar address (a private calendar, a typo) are shown to people who can edit the page, never to visitors.

If you’d rather manage events in WordPress itself, with recurring events, a calendar that syncs from Google, venues and RSVPs, have a look at Beacon Events, the full events calendar from the same author.

External services

The block downloads the calendar whose address you paste into it. Your web server makes that request, at most once an hour per calendar (a copy is kept for an hour, and the last good copy for a week in case the address stops answering). Nothing about your visitors is sent: their browsers never contact the calendar host. The request carries only a user agent naming this plugin and your site’s address.

Where the request goes depends on the address you paste:

Google Calendar is a trademark of Google LLC, Outlook and Microsoft 365 are trademarks of Microsoft, and iCloud is a trademark of Apple Inc. This plugin is not affiliated with or endorsed by them.

Screenshots

Blocks

This plugin provides 1 block.

  • Calendar Feed Show a public Google Calendar, Outlook or iCal (.ics) calendar on the page: the next events as a list, or a month.

Installation

  1. In the block editor, add a block and search for “Calendar Feed” (or “Google Calendar”). Or install the plugin from Plugins Add New.
  2. Paste your calendar’s public iCal address (see the FAQ for where to find it) and click Show calendar.
  3. In the block settings, choose a list or a month.

FAQ

Where do I find my Google Calendar’s address?

In Google Calendar on a computer, open Settings, click your calendar under “Settings for my calendars”, and under “Access permissions for events” tick “Make available to public”. Then copy “Public address in iCal format” under “Integrate calendar”. A share link (calendar.google.com/calendar/embed?src=…) works too: the block turns it into the iCal address. The secret address works as well, but anyone who can see the page’s settings could read it, so the public one is better.

And Outlook or Microsoft 365?

In Outlook on the web: Settings Calendar Shared calendars Publish a calendar. Pick the calendar, choose “Can view all details”, publish, and copy the ICS link.

And Apple Calendar (iCloud)?

In Calendar, share the calendar and tick “Public Calendar”, then copy the link (it starts with webcal://). Paste it as it is.

How quickly do changes show up?

The block reads the calendar at most once an hour, so a change can take up to an hour to appear. Google itself can take a while to update its public feed after you edit an event.

Which repeating events are supported?

Daily, weekly (on one or several days), monthly on a date or on a weekday position (“second Tuesday”, “last Friday”, “first and third Friday”), yearly, every N days/weeks/months, a number of times or until a date, skipped dates, and moved or cancelled single dates. A rule outside that (for example several times a day by hour) shows its first date rather than guessing.

Which time zone are times shown in?

Your site’s time zone (Settings General). An all-day event stays on its date wherever the site is.

Does it contact Google when a visitor opens the page?

No. Your server reads the calendar address and keeps a copy for an hour. Visitors’ browsers load nothing from the calendar host.

Is there a settings page?

No. Everything is in the block’s sidebar, so each block can show a different calendar.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Beacon Calendar Feed” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Beacon Calendar Feed” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.1.0

  • First release: the Calendar Feed block with list and month views.