{"id":374884,"date":"2026-09-24T22:44:48","date_gmt":"2026-09-24T22:44:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/beacon-events\/"},"modified":"2026-09-25T20:49:40","modified_gmt":"2026-09-25T20:49:40","slug":"beacon-events","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/beacon-events\/","author":23573100,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.3","stable_tag":"0.2.3","tested":"7.1.2","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Beacon Events \u2013 Events Calendar with Recurring Events & Google Calendar Sync","header_author":"Beacon Events","header_description":"A light, honest events calendar. Recurring events, ICS and Google Calendar import that stays in sync, and calendar views that look like your site \u2014 all free. Uninstalls clean.","assets_banners_color":"182441","last_updated":"2026-09-25 20:49:40","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/beacon-events\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":89,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"0.2.1":{"tag":"0.2.1","author":"beaconevents","date":"2026-09-24 22:44:14","revision":3712140},"0.2.2":{"tag":"0.2.2","author":"beaconevents","date":"2026-09-25 01:21:17","revision":3712218},"0.2.3":{"tag":"0.2.3","author":"beaconevents","date":"2026-09-25 20:49:40","revision":3713562}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3712142,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3712142,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3712142,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3712142,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"beacon\/events":{"name":"beacon\/events","title":"Events"}},"tagged_versions":["0.2.1","0.2.2","0.2.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3712142,"resolution":"1","location":"assets","locale":"","width":1292,"height":1496},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3712142,"resolution":"2","location":"assets","locale":"","width":1386,"height":1250},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3712142,"resolution":"3","location":"assets","locale":"","width":2880,"height":1800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3712142,"resolution":"4","location":"assets","locale":"","width":2880,"height":1800}},"screenshots":{"1":"The month view, inheriting the theme.","2":"The list view, grouped by day.","3":"Editing an event: when, how often, where \u2014 in one box.","4":"Feeds and the sync log."}},"plugin_section":[],"plugin_tags":[4745,4754,4743,7103,5881],"plugin_category":[],"plugin_contributors":[282603],"plugin_business_model":[],"class_list":["post-374884","plugin","type-plugin","status-publish","hentry","plugin_tags-event-calendar","plugin_tags-events-calendar","plugin_tags-google-calendar","plugin_tags-ical","plugin_tags-recurring-events","plugin_contributors-beaconevents","plugin_committers-beaconevents"],"banners":{"banner":"https:\/\/ps.w.org\/beacon-events\/assets\/banner-772x250.png?rev=3712142","banner_2x":"https:\/\/ps.w.org\/beacon-events\/assets\/banner-1544x500.png?rev=3712142","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/beacon-events\/assets\/icon-128x128.png?rev=3712142","icon_2x":"https:\/\/ps.w.org\/beacon-events\/assets\/icon-256x256.png?rev=3712142","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/beacon-events\/assets\/screenshot-1.png?rev=3712142","caption":"The month view, inheriting the theme."},{"src":"https:\/\/ps.w.org\/beacon-events\/assets\/screenshot-2.png?rev=3712142","caption":"The list view, grouped by day."},{"src":"https:\/\/ps.w.org\/beacon-events\/assets\/screenshot-3.png?rev=3712142","caption":"Editing an event: when, how often, where \u2014 in one box."},{"src":"https:\/\/ps.w.org\/beacon-events\/assets\/screenshot-4.png?rev=3712142","caption":"Feeds and the sync log."}],"raw_content":"<!--section=description-->\n<p>Beacon Events is an events calendar that does the basics properly and doesn't charge you for them.<\/p>\n\n<ul>\n<li><strong>Recurring events are free.<\/strong> Daily, weekly, monthly (\"second Tuesday\", \"last Friday\"), yearly \u2014 with an end date or a count, and dates you can skip.<\/li>\n<li><strong>Import from Google Calendar or any ICS feed, and stay in sync.<\/strong> Feeds are checked hourly. Every sync is logged \u2014 created, updated, removed \u2014 so nothing drifts silently. Events that disappear from a feed are set to draft, never deleted behind your back.<\/li>\n<li><strong>Views that look like your site.<\/strong> List and month views as blocks or shortcodes. Our stylesheet does layout only \u2014 colours and fonts come from your theme, and every element has a class you can target.<\/li>\n<li><strong>No bloat.<\/strong> Styles load only on pages that show events. No add-on store, no upsell screens, no nag notices.<\/li>\n<li><strong>Venues with addresses.<\/strong> Each venue has a street address, shown on the event with a map link \u2014 no API key, no embedded map slowing the page down.<\/li>\n<li><strong>Export.<\/strong> Every event has \"Add to calendar (.ics)\" and \"Add to Google Calendar\" links, and your whole calendar has a subscribable feed.<\/li>\n<li><strong>Uninstalls clean.<\/strong> Turn on \"delete all data on uninstall\" and the plugin removes everything it created \u2014 events, venues, categories, settings, its table.<\/li>\n<\/ul>\n\n<h4>External services<\/h4>\n\n<p>Beacon Events does not phone home, track anything, or load scripts from third parties. Two things touch the outside world, both under your control:<\/p>\n\n<ul>\n<li><strong>Calendar feeds you add.<\/strong> If you enter an ICS URL under Events \u2192 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.<\/li>\n<li><strong>Plain links.<\/strong> 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<\/li>\n<\/ul>\n\n<h4>Data the plugin stores<\/h4>\n\n<p>One database table, <code>{prefix}beacon_occurrences<\/code>, holding the expanded dates of each event. It is removed on uninstall only if you turn on \"delete all data on uninstall\" under Events \u2192 Settings.<\/p>\n\n<h4>Shortcode<\/h4>\n\n<pre><code>[beacon_events view=\"list\" days=\"60\" limit=\"20\" category=\"workshops\"] \u2014 `category` takes one slug or several, comma-separated (`category=\"workshops,talks\"` shows events in either).\n[beacon_events view=\"month\"]\n<\/code><\/pre>\n\n<h4>Block<\/h4>\n\n<p>Add the <strong>Events<\/strong> block and choose list or month in the sidebar.<\/p>\n\n<h4>Tickets and RSVP<\/h4>\n\n<p>Free covers the calendar. If you need people to sign up or pay \u2014 RSVP with capacity, Stripe tickets, attendee export, visitor-submitted events \u2014 there is a paid add-on, Beacon Events Pro. Nothing in the free plugin is time-limited, crippled or nagged.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"are%20recurring%20events%20really%20free%3F\"><h3>Are recurring events really free?<\/h3><\/dt>\n<dd><p>Yes. That's the point.<\/p><\/dd>\n<dt id=\"how%20do%20i%20connect%20google%20calendar%3F\"><h3>How do I connect Google Calendar?<\/h3><\/dt>\n<dd><p>In Google Calendar, open the calendar's settings and copy the \"Public address in iCal format\". Paste it under Events \u2192 Settings \u2192 Calendar feeds. It syncs hourly, and you can press \"Sync feeds now\" any time.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20an%20event%20is%20removed%20from%20my%20google%20calendar%3F\"><h3>What happens if an event is removed from my Google Calendar?<\/h3><\/dt>\n<dd><p>It's set to draft on your site and the removal is written to the sync log. You decide whether to delete it.<\/p><\/dd>\n<dt id=\"will%20it%20change%20how%20my%20site%20looks%3F\"><h3>Will it change how my site looks?<\/h3><\/dt>\n<dd><p>No. The stylesheet only does layout. Colours, fonts and spacing inherit from your theme.<\/p><\/dd>\n<dt id=\"what%27s%20in%20the%20paid%20version%3F\"><h3>What's in the paid version?<\/h3><\/dt>\n<dd><p>Tickets and RSVPs with card payments, attendee export, and priority support. Nothing in the free version moves behind a paywall.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>The <code>category<\/code> attribute (block and shortcode) accepts several slugs separated by commas; an event in any of them is shown.<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>A small review link in the footer of Beacon's own admin screens. Still no admin notices anywhere.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Event and archive URLs now work immediately after activation, instead of 404ing until permalinks were re-saved.<\/li>\n<li>Admin styles are enqueued properly and load only on the event editor.<\/li>\n<li>Calendar export hardened: carriage returns and control characters in a site name or venue can no longer break the .ics file.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Events archive and single-event pages now use proper event templates on block themes (no more \"Written by\" on an event).<\/li>\n<li>Venues have a street address, shown with a map link and sent to calendar apps.<\/li>\n<li>\"Add to Google Calendar\" link alongside the .ics download.<\/li>\n<li>The \"When\" panel opens by default in the editor and fills in an end time for you.<\/li>\n<li>One \"Tickets &amp; RSVP\" page describing the optional paid add-on. No banners anywhere else.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First release: events, venues, organizers, categories; recurring rules; list and month views as blocks and shortcodes; ICS and Google Calendar import with hourly sync and a log; iCal export; clean uninstall.<\/li>\n<\/ul>","raw_excerpt":"A light, honest events calendar. Recurring events, Google Calendar and ICS import that stays in sync, and views that look like your site \u2014 all free.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/374884","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=374884"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/beaconevents"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=374884"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=374884"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=374884"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=374884"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=374884"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=374884"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}