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"]
ICS Calendar
Add the calendar you already use to any WordPress site! Google Calendar, Microsoft 365, iCloud, Airbnb and more… no API keys or complicated setup required. Using a simple shortcode, you can turn any iCalendar subscription (ICS) feed (Google Calendar, Microsoft Office 365, Apple iCloud, Airbnb, Vrbo, and many more) into a seamlessly integrated, auto-updating, zero-maintenance WordPress calendar. Continue to manage your events in the calendar software you’re already using! You’ll automatically have an up-to-date calendar in your WordPress website with no extra work. Display your calendar in month, list or week view. Many additional customization options are available. See our User Guide for full details. No API keys required! Works with ANY calendar software that generates a public iCalendar subscription link. Live Preview You can preview your own calendar in any ICS Calendar view at our website: icscalendar.com/preview Shortcode Builder We’ve made it easier than ever to get started using ICS Calendar with our new online shortcode builder: icscalendar.com/shortcode-builder Language Support All date strings (days of the week, months, etc.) are automatically translated into your site’s configured language (under Settings > General > Language) and date/time formats using core WordPress functionality. All text content for the calendar itself is displayed as-is from the feed. ICS Calendar includes built-in translation files for the following languages: Chinese, Czech, Danish, Dutch, Estonian, Finnish, French, German, Greek, Hungarian, Icelandic, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovakian, Slovenian, Spanish, Swedish, Turkish, and Ukrainian. Please contact us if you would like us to add support for your language! This plugin includes the PHP ICS Parser library by Jonathan Goode, John Grogg and Martin Thoma (MIT license).