Directory / plugin

Beacon Events – Events Calendar with Recurring Events & Google Calendar Sync

v0.32.0 · by beaconevents

Free events calendar for one-off and recurring events, with Google Calendar sync and one-click import from The Events Calendar or Events Manager.

About this plugin

Beacon Events is an events calendar for single events and repeating ones alike: a one-night workshop, a show’s run, a weekly class. It does the basics properly and doesn’t charge you for them. See it running on a stock Twenty Twenty-Five site: month grid with the filter bar, day view, event pages, venue pages.

Who it’s for. Churches publishing weekly services and a monthly potluck. Yoga, pilates, fitness, dance and martial-arts studios, gyms and music schools with a weekly class schedule, shown as a timetable, and class sign-ups with Pro. Libraries and schools with story times, term dates and board meetings. Senior living communities and community centers with a monthly activity calendar that also goes up on the noticeboard. Cooking schools, paint and sip studios, pottery, glass and craft studios, art classes, makerspaces and nature centers selling workshop tickets. Wineries, breweries and farms with tastings, trivia nights, markets and seasonal events, and small museums with member and non-member tickets. Clubs, meetups and volunteer groups, bars and venues with a weekly music night, and anyone running online events on Zoom or Google Meet.

Recurring rules use the iCalendar RRULE standard, the same format Google Calendar and Outlook use, so a rule like “second Tuesday of the month” round-trips with calendar apps.

  • Recurring events are free. Daily, weekly, monthly (“second Tuesday”, “last Friday”, “the first and third Thursday”), yearly — with an end date or a count, dates you can skip, single dates you can cancel or move, and a ticket link per date when each date has its own registration page.
  • Import from Google Calendar or any ICS feed, and stay in sync. Feeds are checked hourly. Every sync is logged — created, updated, removed — so nothing drifts silently. Events that disappear from a feed are set to draft, never deleted behind your back.
  • Views that look like your site. List, week, month and day views as blocks, shortcodes or an Elementor widget, with an optional filter bar (category, venue, search). The week view is a class timetable: a column per day, stacked into rows on phones and narrow columns. Our stylesheet does layout only — colours and fonts come from your theme, and every element has a class you can target. Give a category a colour and its events get a dot or a bar.
  • A month you can print. Under every month view, “Print this month” opens the month on a page of its own, laid out for one landscape sheet: times first, full titles, your category colours with a key, and the calendar’s address at the foot. Handy for a noticeboard or the front desk.
  • No bloat. Styles load only on pages that show events. No add-on store, no upsell screens, no nag notices.
  • Accessible. The month view is a real table with column headers, each day link carries its full date for screen readers, and on Twenty Twenty-Five every view passes axe-core’s automated WCAG 2.1 AA checks, colour contrast included.
  • Sell tickets where you like. Each event can link to its Eventbrite, Square or other ticket page with its own button text (“Buy on Eventbrite”, “Book now”). Or sell on the event page itself with the optional add-on, with no per-ticket fee.
  • Up and running in a minute. Click “Get started”: add a few sample events to see the calendar working (one click removes them), and let it make a Calendar page for you.
  • Every event in its own timezone. A class in Boston shows 10 am Boston time even if your site is set to Chicago, with the zone’s abbreviation when they differ.
  • Online events. Flip “Online event”, paste the meeting link, and visitors get a Join button; calendar apps get the link too.
  • Search engines understand your events. schema.org Event markup on every event page, one entry per upcoming date.
  • Venues with addresses. Each venue has a street address, shown on the event with a map link — no API key, no embedded map slowing the page down.
  • Export. Every event has “Add to calendar (.ics)” and “Add to Google Calendar” links, and your whole calendar has a subscribable feed.
  • A free alternative to The Events Calendar, Events Manager, Event Organiser, EventPrime, My Calendar, Sugar Calendar, Eventin, Modern Events Calendar, EventON, WP Event Manager, WP Events Manager (ThimPress) and All-in-One Event Calendar, and it brings your events over from any of them. Events Import / Export copies events, venues, organizers, categories, images and recurring rules in one click, without touching the old plugin. A dry run shows first what would be created, updated or skipped, and both the dry run and the import can be downloaded as a report with one row per event. Deactivate the old plugin when you are happy; old links are redirected. Weekly classes that were entered one date at a time (the only way in plugins that charge for repeating events) can be combined into one repeating event in a click. Anything else comes in through a CSV file, and every event can go out as one.
  • Uninstalls clean. Turn on “delete all data on uninstall” and the plugin removes everything it created — events, venues, categories, settings, its table.

External services

Beacon Events does not phone home, track anything, or load scripts from third parties. Two things touch the outside world, both under your control:

  • Calendar feeds you add. If you enter an ICS URL under Events Settings (for example your Google Calendar’s public iCal address), the plugin fetches that URL from your server once an hour to keep events in sync. Nothing is fetched unless you add a feed.
  • Plain links. The “Map” and “Add to Google Calendar” links on an event are ordinary hyperlinks to google.com/maps and calendar.google.com. They open in the visitor’s browser; the plugin sends nothing itself. Google’s terms: https://policies.google.com/terms

Data the plugin stores

One database table, {prefix}beacon_occurrences, holding the expanded dates of each event. It is removed on uninstall only if you turn on “delete all data on uninstall” under Events Settings.

Shortcode

[beacon_events view="list" days="60" limit="20" category="workshops"] — `category` takes one slug or several, comma-separated (`category="workshops,talks"` shows events in either).
[beacon_events view="month"]
[beacon_events view="list" filters="1"] — adds the category / venue / search bar and a list / week / month switch.
[beacon_events layout="compact" limit="5"] — one line per event, for sidebars.
[beacon_events view="week"] — this week as a timetable, with previous/next links. It starts on the day set in Settings → General ("Week Starts On").
[beacon_events view="day"] — today, with previous/next links.
venue="slug" and `organizer="slug"` work like `category`.
print="no" — hides the "Print this month" link under a month view.

Block

Add the Events block and choose list, month or day in the sidebar, or the Upcoming events variation for a short one-line list. Elementor users: the Beacon Events widget has the same options.

Tickets and RSVP

Free covers the calendar. If you need people to sign up or pay — RSVP with capacity per date, paid tickets through Stripe or your WooCommerce checkout, a waitlist when a date is full, reminder emails the day before, attendee lists with CSV export, QR tickets with phone check-in at the door, visitor-submitted events — there is a paid add-on, Beacon Events Pro, with a 14-day free trial that needs no card. Nothing in the free plugin is time-limited, crippled or nagged.

Setup in five minutes

Click Get started under the plugin’s name on the Plugins screen. The Events screen walks you through the three steps below, can add five sample events so you see a full calendar straight away (removed again in one click), and makes a “Calendar” page for you with a month view, filters and the next five events.

  1. Events Add New Event. Set Starts and Ends in the When panel; pick Repeats if it recurs (weekly on Tuesday, second Tuesday of the month, last Friday…). Add a venue and a category from the sidebar.
  2. Put the Events block on a page (or the shortcode below). Choose list, week, month or day, and switch on the filter bar if you have several categories or venues.
  3. Moving from another plugin? Events Import / Export. Have a Google Calendar? Events Settings paste its iCal address.

That is the whole setup. Everything else — colours, venues with maps, online events, per-date changes — is optional.

The same steps as a 90-second video:

Roadmap

Next, in this order: a CSV import for attendees, per-event reminder settings, and translations. Requests and bug reports on the support forum get answered; the plugin is small enough that most fixes ship within days.

Plugin tags