CalDav Calendar Viewer
CalDav Calendar Viewer fetches and displays events from any standard iCal (.ics) feed directly on your site using a simple shortcode. It supports multiple calendar feeds, each with its own URL and optional username/password for authenticated endpoints. Key Features: Multiple Calendar Feeds – Configure as many feeds as you need, each with a unique ID. iCal / RFC 5545 Support – Parses standard .ics calendar feeds including all-day events, times, locations, and descriptions. Recurring Events – Expands RRULE recurrences (DAILY, WEEKLY, MONTHLY, YEARLY) including BYDAY, BYMONTHDAY, INTERVAL, COUNT, UNTIL, and EXDATE. DURATION Support – Derives the end time from a DURATION property when DTEND is absent. Basic Authentication – Supply a username and password per feed for protected calendars. Encrypted Credentials – Passwords are stored using AES-256-CBC encryption in the database. Caching – Configurable cache lifetime reduces external HTTP requests (defaults to 1 hour). Cache Management – View the number of currently cached feed entries and clear them with one click from the admin settings page. Async Loading – Calendar events are fetched via AJAX so the containing page renders immediately. Label / Category Filtering – Filter events by iCal CATEGORIES labels using the label shortcode attribute. Accepts a comma-separated list; all plain labels must be present on an event for it to be shown. Prefix a label with ! to exclude events that carry that category. Matching is case-insensitive. Clickable Events – Events that carry a URL property in the iCal feed are rendered as clickable links. 7-Day Rolling Window – Automatically fetches and displays only the next 7 days of events. Responsive Event List – Clean event list layout that adapts to all screen sizes. Event Tooltips – Hover over an event to see its description. Description Prefix Filtering – Remove lines from event descriptions that start with configurable prefixes. Useful for hiding internal metadata added by calendar applications. Configuration Navigate to Settings → CalDav Calendar Viewer in the WordPress admin panel. Adding a Feed Click + Add Feed and fill in: Feed ID – A unique lowercase identifier (letters, numbers, hyphens, underscores) used in the shortcode. iCal Feed URL – The full URL to the .ics calendar feed. Username – Username for Basic Authentication. Leave blank for public feeds. Password – Password for Basic Authentication. Stored encrypted. Leave blank to keep the current value. You can configure multiple feeds — each gets its own ID. General Settings Cache Lifetime (seconds) – How long fetched calendar data is cached. Set to 0 to disable caching. Default: 3600 (1 hour). Description Line Prefixes to Remove – Newline-separated list of prefixes. Any line in an event’s description that starts with one of these prefixes is removed from the tooltip. Useful for hiding internal metadata added by calendar apps (e.g. X-APPLE-, Reminder:). Cache Management The settings page shows how many calendar feeds are currently cached. Use the Clear Cache button to delete all cached responses and force fresh fetches on the next page load. Usage Basic Shortcode [caldcavi_calendar id="my-feed"] Shortcode Attributes id (required) – The feed ID configured in Settings → CalDav Calendar Viewer. label (optional) – A comma-separated list of iCal CATEGORIES values to filter events by. All plain labels must be present on an event for it to be shown. Prefix a label with ! to exclude events that carry that category. Matching is case-insensitive. Omit to show all events. Examples [caldcavi_calendar id="team-calendar"] [caldcavi_calendar id="hr-events"] [caldcavi_calendar id="team-calendar" label="Work"] [caldcavi_calendar id="team-calendar" label="Work,Important"] [caldcavi_calendar id="team-calendar" label="Work,!Cancelled"] [caldcavi_calendar id="team-calendar" label="!Private"]
Top keywords
- calendar19×3.33%
- events12×2.11%
- id12×2.11%
- feed10×1.75%
- label9×1.58%
- event8×1.40%
- caldcavi7×1.23%
- caldcavi calendar7×1.23%
- caldcavi calendar id7×1.23%
- calendar id7×1.23%
- feeds7×1.23%
- ical6×1.05%
Simple Google Calendar Outlook Events Widget
Simple block or widget to display events from a public google calendar, microsoft office outlook calendar or an other iCal file, in the style of your website. This simple block/widget fetches events from a public google calendar (or other calendar in iCal format) and displays them in simple list allowing you to fully adapt to your website by applying all kinds of CSS. Google offers some HTML snippets to embed your public Google Calendar into your website. These are great, but as soon as you want to make a few adjustments to the styling, that goes beyond changing some colors, they’re not enough. Plugin Features Calendar block or widget to display appointments/events of a public Google calendar or other iCal file. Block gives live preview in the editor and is not constrained to widget area. Legacy (old) widget will be displayed in legacy widget block only in widget area. Legacy widget works also with Elementor (with some limitations e.g. preview in backend editor is not always available), with SiteOrigin only the legacy widget with no namespace (activate with checkbox in plugin admin screen) works correct. Small footprint, uses only Google ID of the calendar, or ICS link for Outlook, or Url of iCal file, to get event information via iCal Merge more calendars into one block Manage events in Google Calendar, or other iCalendar source. Fully adaptable to your website with CSS. Output in unordered list with Bootstrap 4 listgroup classes and toggle for details. Works with overridable templates to make the layout more flexible. (You need basic knowledge of PHP to use this function effectively.) Choose date / time format in settings screen that best suits your website. Displays per event DTSTART, DTEND, SUMMARY, LOCATION and DESCRIPTION. DTSTART is required other components are optional. Displays most common repeating events. Frequency Yearly, Monthly, Weekly, Dayly (not Hourly, Minutely and smaller periods) Basic support for filter on Categories Warning: MS Outlook does not share categories via iCal now. Google and iCloud calendar don’t support categories at all. So this will not work with these calendars. In the screenshot below: Left the block with default settings and clicked on one summary. Right with some adjusted settings. Adjusted settings for start with summary: Lay-out: Start with summary. Date format first line: “. l jS \o\f F” Enddate format first line: ” – l jS \o\f F” Time format time summary line: ” G:i” Time format end time summary line: ” – G:i” Time format start time: “” Time format end time: “” Tag for summary: “strong” Documentation Gets calendar events via iCal url or google calendar ID Merge more calendars into one block Displays maximum the selected number of events as listgroup-items Displays only events in a selected period with a length of the setting “Number of days after today with events” from now limited by the time of the day or the beginning of the day at the start and the and of the at the end. Displays events in timezone of WordPress setting, or in Clients timezone with javascript REST call fetched from the clients browser. Displays event start-date and summary; toggle details, description, start-, end-time, location. Displays most common repeating events Frequency Yearly, Monthly, Weekly, Dayly (not parsed Hourly, Minutely …), INTERVAL (default 1), WKST (default MO) End of repeating by COUNT or UNTIL By day month, monthday or setpos (BYDAY, BYMONTH, BYMONTHDAY, BYSETPOS) no other by… (not parsed: BYWEEKNO, BYYEARDAY, BYHOUR, BYMINUTE, RDATE) Exclude events on EXDATE from recurrence set (after evaluating BYSETPOS) Respects Timezone and Day Light Saving time. Build and tested with Iana timezones as used in php, Google, and Apple now also tested with Microsoft timezones and unknown timezones. For unknown timezone-names using the default timezone of WordPress (probably the local timezone). (This widget is a Fork of version 0.7 of that simple google calendar widget by NBoehr https://nl.wordpress.org/plugins/simple-google-calendar-widget/) Copyright and License This project is licensed under the GNU GPL, version 2 or later. 2017 – 2023 © Bram Waasdorp.