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%
Icalviz
Icalviz connects to any public iCal feed and displays your availability day by day on any page or post, using a simple shortcode. Works with Google Calendar, Outlook, Apple Calendar, Nextcloud, and any service that exposes a public .ics link. Each day is automatically classified: 🟢 Free — no events scheduled 🟡 Partial availability — some time slots are taken 🔴 Fully booked — your entire working hours are covered Visitors can click any day to see occupied time slots in a clean timeline modal. Optionally display a call-to-action button (e.g. “Book this slot”) that links to your booking system. Why Icalviz? Stop copy-pasting your schedule into a webpage. Connect your Google Calendar, Outlook, Apple Calendar, or any iCal-compatible calendar — Icalviz reads your public iCal feed and updates automatically, every 30 minutes. Use cases 🏢 Meeting room & shared space booking — Display a room’s availability calendar so your team or clients can instantly see open slots, without logging into any system. 📅 Show your public availability as a freelancer or consultant — Let potential clients see when you are free before they even reach out. Display months of availability from your Google Calendar, Outlook or any iCal feed in seconds. 🎓 Training sessions & open office hours — Show students or participants which session slots are still open. Mark them as full automatically when your agenda is blocked. 🏡 Seasonal rental & short-stay property — Display your gîte, studio, or vacation rental availability directly on your WordPress site, synced live from any iCal-compatible calendar. 🚗 Fleet & equipment availability — Track and display the availability of a shared vehicle, camera kit, or any bookable asset — simply by blocking time in Google Calendar, Outlook, or any other iCal calendar. Key features Zero configuration — Paste your iCal URL, copy the shortcode, done. No API key required — Works with any public iCal feed: Google Calendar, Outlook, Apple Calendar, Nextcloud, and more. Responsive — 2 columns on desktop, 1 on mobile. Navigation arrows for multi-month views. Timeline modal — Click a day to see occupied time slots in a visual hourly timeline. Call-to-action button — Add a custom button (e.g. “Request a slot”) inside the modal, linking to your booking page or contact form. Custom labels — Rename “Free”, “Partial availability”, “Fully booked” to match your vocabulary. Dark mode — Built-in light and dark themes. Booking window — Limit how many days ahead users can see (e.g. next 90 days only). Onboarding wizard — Step-by-step setup guides you from iCal URL to ready shortcode in under a minute. Inline iCal tester — Paste a URL and instantly see whether it connects, how many events it contains, and what the next upcoming events are. Debug panel — One-click diagnostic report covering WordPress environment, plugin version, cache status, iCal feed health, and slot calculation trace. Designed for quick support. How it works Get your public iCal URL (.ics link) from your calendar app: Google Calendar: ⋮ → Settings and sharing → Make available to public → Public address in iCal format Outlook: Calendar settings → Shared calendars → Publish → ICS link Apple Calendar / iCloud: Calendar settings → Public Calendar → Copy link Any other app: look for “Subscribe”, “iCal export” or “public ICS link” In WordPress: go to Settings → Icalviz, paste your iCal URL and follow the 3-step wizard. Copy the generated shortcode and paste it into any page or post. Shortcode reference Basic: [icalviz url=”https://calendar.google.com/calendar/ical/…/basic.ics”] All options: [icalviz url=”…” start=”9″ end=”17″ months=”3″ days_ahead=”90″ show_titles=”0″ disable_modal=”0″ legend=”1″ theme=”light” lbl_free=”Available” lbl_partial=”Limited availability” lbl_full=”Fully booked” cta_label=”Request this slot” cta_url=”https://your-booking-page.com”] url (required) — Your public .ics iCal link (Google Calendar, Outlook, Apple Calendar, etc.) start (0–23, default: 8) — Start of your working day in hours end (1–24, default: 18) — End of your working day in hours months (1–12, default: 2) — Number of months to display days_ahead (0–730, default: 0) — Days ahead to show; 0 = unlimited show_titles (0 or 1, default: 0) — Show event titles in the modal timeline legend (0 or 1, default: 1) — Show colour legend below calendar theme (light / dark, default: light) — Colour theme lbl_free (text, default: Free) — Label for free days lbl_partial (text, default: Available) — Label for partially available days lbl_full (text, default: Fully booked) — Label for fully booked days cta_label (text) — Text for the call-to-action button in the modal cta_url (URL) — Link for the call-to-action button disable_modal (0 or 1, default: 0) — Disable day-click modal; show only availability colour Privacy Icalviz connects only to the iCal URL you provide. No data is sent to any third party. The iCal feed is cached locally in your WordPress database for 30 minutes. If show_titles is set to 0 (default), event titles are never exposed to visitors. Requirements WordPress 5.8 or higher PHP 7.4 or higher A public iCal URL (.ics link) from Google Calendar, Outlook, Apple Calendar, Nextcloud, or any iCal-compatible service Your WordPress timezone must be set correctly (Settings → General → Timezone)