{"id":395801,"date":"2026-11-01T02:41:32","date_gmt":"2026-11-01T02:41:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/calendar-display-for-google-calendar\/"},"modified":"2026-11-01T02:40:57","modified_gmt":"2026-11-01T02:40:57","slug":"fd3-calendar-display-for-google-calendar","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/fd3-calendar-display-for-google-calendar\/","author":50103,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"FD3 Calendar Display for Google Calendar","header_author":"Frank Deardurff III","header_description":"Display a public Google Calendar on your site with Month, Week, and List views, event details, and customizable colors. No API key required.","assets_banners_color":"d2d0ce","last_updated":"2026-11-01 02:40:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/frankdeardurff.com\/plugins\/calendar-display-for-google-calendar\/","header_author_uri":"https:\/\/thatonewebguy.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":146,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"Frank3d","date":"2026-11-01 02:40:57","revision":3777501}},"upgrade_notice":{"1.1.0":"<p>Fixes recurring events that did not appear, adds site-timezone display, and improves caching. Existing shortcodes keep working.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3777495,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3777495,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3777495,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3777495,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3777495,"resolution":"1","location":"assets","locale":"","width":1200,"height":742},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3777495,"resolution":"2","location":"assets","locale":"","width":1200,"height":742},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3777495,"resolution":"3","location":"assets","locale":"","width":1200,"height":742},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3777495,"resolution":"4","location":"assets","locale":"","width":1200,"height":791}},"screenshots":{"1":"Month view.","2":"Event details pop-up.","3":"List view.","4":"Settings page."}},"plugin_section":[],"plugin_tags":[416,1486,4743,7103,80],"plugin_category":[40,43],"plugin_contributors":[84573],"plugin_business_model":[],"class_list":["post-395801","plugin","type-plugin","status-publish","hentry","plugin_tags-calendar","plugin_tags-events","plugin_tags-google-calendar","plugin_tags-ical","plugin_tags-shortcode","plugin_category-calendar-and-events","plugin_category-customization","plugin_contributors-frank3d","plugin_committers-frank3d"],"banners":{"banner":"https:\/\/ps.w.org\/fd3-calendar-display-for-google-calendar\/assets\/banner-772x250.png?rev=3777495","banner_2x":"https:\/\/ps.w.org\/fd3-calendar-display-for-google-calendar\/assets\/banner-1544x500.png?rev=3777495","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/fd3-calendar-display-for-google-calendar\/assets\/icon-128x128.png?rev=3777495","icon_2x":"https:\/\/ps.w.org\/fd3-calendar-display-for-google-calendar\/assets\/icon-256x256.png?rev=3777495","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/fd3-calendar-display-for-google-calendar\/assets\/screenshot-1.png?rev=3777495","caption":"Month view."},{"src":"https:\/\/ps.w.org\/fd3-calendar-display-for-google-calendar\/assets\/screenshot-2.png?rev=3777495","caption":"Event details pop-up."},{"src":"https:\/\/ps.w.org\/fd3-calendar-display-for-google-calendar\/assets\/screenshot-3.png?rev=3777495","caption":"List view."},{"src":"https:\/\/ps.w.org\/fd3-calendar-display-for-google-calendar\/assets\/screenshot-4.png?rev=3777495","caption":"Settings page."}],"raw_content":"<!--section=description-->\n<p>FD3 Calendar Display for Google Calendar shows the events from any public Google Calendar (or any public iCal feed) on your WordPress site with a single shortcode.<\/p>\n\n<ul>\n<li><strong>Month, Week, and List views<\/strong> your visitors can switch between.<\/li>\n<li><strong>Event details pop-up<\/strong> with date, time, location (with a map link), and description.<\/li>\n<li><strong>\"Add to Google Calendar\" and .ics download<\/strong> buttons on each event, plus optional subscribe links for the whole calendar.<\/li>\n<li><strong>Recurring events done right:<\/strong> weekly, monthly (\"second Tuesday\", \"last Friday\"), yearly, exceptions, and individually moved or cancelled occurrences.<\/li>\n<li><strong>Times shown in your site's timezone<\/strong>, so every visitor sees the same schedule.<\/li>\n<li><strong>Fast:<\/strong> events are cached, assets only load on pages with a calendar, and if Google is briefly unreachable the last good copy is shown.<\/li>\n<li><strong>Your colors:<\/strong> set accent, background, event, and text colors and corner radius, site-wide or per shortcode.<\/li>\n<li><strong>No API key and no Google account connection.<\/strong> It reads the calendar's public iCal feed.<\/li>\n<li>Translation-ready and keyboard accessible.<\/li>\n<\/ul>\n\n<h4>Usage<\/h4>\n\n<ol>\n<li>Make your calendar public in Google Calendar: <strong>Settings and sharing \u2192 Access permissions \u2192 Make available to public<\/strong>.<\/li>\n<li>Copy the <strong>Calendar ID<\/strong> from <strong>Settings and sharing \u2192 Integrate calendar<\/strong>.<\/li>\n<li>Paste it into <strong>Settings \u2192 Calendar Display<\/strong> in WordPress.<\/li>\n<li>Add <code>[cdgc_calendar]<\/code> to any page, post, or widget.<\/li>\n<\/ol>\n\n<p>Shortcode options:<\/p>\n\n<ul>\n<li><code>url<\/code> \u2013 a different calendar ID or URL than the one in Settings<\/li>\n<li><code>view<\/code> \u2013 <code>month<\/code>, <code>week<\/code>, or <code>list<\/code><\/li>\n<li><code>primary_color<\/code>, <code>bg_color<\/code>, <code>event_color<\/code>, <code>text_color<\/code> \u2013 hex colors<\/li>\n<li><code>border_radius<\/code> \u2013 corner radius in pixels<\/li>\n<li><code>show_event_exports<\/code>, <code>show_calendar_subscribe<\/code> \u2013 <code>1<\/code> or <code>0<\/code><\/li>\n<\/ul>\n\n<p>Example: <code>[cdgc_calendar view=\"list\" primary_color=\"#c2410c\"]<\/code><\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to Google Calendar to load the events it displays.<\/p>\n\n<ul>\n<li><strong>What is sent and when:<\/strong> when a page containing the calendar is viewed and the cached copy has expired (every 12 hours by default), your server requests the calendar's iCal feed from <code>calendar.google.com<\/code>. The request contains the calendar ID or feed URL you entered and your site's address in the user-agent header. No visitor data is sent. If you enter a non-Google .ics URL, that server is contacted instead.<\/li>\n<li><strong>Links visitors may choose to follow:<\/strong> the \"Add to Google Calendar\" and \"Subscribe\" links open Google Calendar, and location links open Google Maps. Nothing is sent to Google unless a visitor clicks one of these links.<\/li>\n<\/ul>\n\n<p>Google Calendar and Google Maps are provided by Google LLC: <a href=\"https:\/\/policies.google.com\/terms\">Terms of Service<\/a>, <a href=\"https:\/\/policies.google.com\/privacy\">Privacy Policy<\/a>.<\/p>\n\n<p>This plugin is not affiliated with or endorsed by Google. Google Calendar is a trademark of Google LLC.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"the%20calendar%20says%20it%20is%20not%20public\"><h3>The calendar says it is not public<\/h3><\/dt>\n<dd><p>Open the calendar's <strong>Settings and sharing<\/strong> page in Google Calendar and turn on <strong>Make available to public<\/strong>. Changes can take a few minutes to reach the public feed.<\/p><\/dd>\n<dt id=\"can%20i%20use%20a%20private%20calendar%3F\"><h3>Can I use a private calendar?<\/h3><\/dt>\n<dd><p>You can paste the calendar's <strong>secret address in iCal format<\/strong>, and the plugin will hide subscribe links so that address is never shown on your site. Keep in mind that the events themselves will be visible on your page.<\/p><\/dd>\n<dt id=\"i%20changed%20an%20event%20and%20it%20hasn%27t%20updated\"><h3>I changed an event and it hasn't updated<\/h3><\/dt>\n<dd><p>Events are cached for speed. Use <strong>Settings \u2192 Calendar Display \u2192 Clear calendar cache<\/strong>, or lower the refresh interval.<\/p><\/dd>\n<dt id=\"which%20timezone%20are%20times%20shown%20in%3F\"><h3>Which timezone are times shown in?<\/h3><\/dt>\n<dd><p>Your site's timezone, from <strong>Settings \u2192 General<\/strong>. The first day of the week also follows your site setting.<\/p><\/dd>\n<dt id=\"can%20i%20show%20more%20than%20one%20calendar%3F\"><h3>Can I show more than one calendar?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>url<\/code> attribute on each shortcode.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Renamed to FD3 Calendar Display for Google Calendar; new shortcode <code>[cdgc_calendar]<\/code> (the old <code>[google_calendar_display]<\/code> shortcode still works) and settings are imported automatically.<\/li>\n<li>Rewrote recurring event handling: long-running series, nth-weekday monthly rules, BYMONTHDAY, BYSETPOS, COUNT, moved and cancelled occurrences.<\/li>\n<li>Times now display in the site timezone; week start follows the site setting.<\/li>\n<li>Failed feed requests are cached briefly and the last good copy is shown instead of an error.<\/li>\n<li>Secret iCal addresses are never shown on the page.<\/li>\n<li>Links already present in event descriptions are no longer broken.<\/li>\n<li>Keyboard accessible events and pop-up; translatable front-end text.<\/li>\n<li>Cache clearing now works with persistent object caches.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Initial private release.<\/li>\n<\/ul>","raw_excerpt":"Show a public Google Calendar on your site with Month, Week, and List views. One plugin, no API key, no add-ons.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/395801","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=395801"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/frank3d"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=395801"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=395801"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=395801"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=395801"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=395801"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=395801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}