WebCalendar

WebCalendar

توسط

WebCalendar gives your WordPress site a clean, responsive calendar with the features you actually need — recurring events, iCal import, remote sync, email reminders, and fine-grained permissions — without the complexity.

Calendar Views & Display

  • Month, week, and day views with smooth AJAX navigation — no page reloads
  • Responsive design that adapts to any theme and screen size
  • Color-coded categories for visual organization
  • Gutenberg blocks (Calendar + Upcoming Events) and [webcalendar] shortcode

Event Management

  • Recurring events — daily, weekly, monthly, and yearly patterns with RRULE support
  • Edit a single instance or the entire series
  • File attachments via the WordPress Media Library
  • Conflict detection warns you about overlapping events
  • Public, Private, and Confidential visibility levels

Import, Export & Sync

  • Import .ics files from Google Calendar, Outlook, Apple Calendar, or any iCal source
  • Export your calendar in iCalendar format
  • Subscribe to remote iCal feeds with automatic hourly sync
  • Import public holidays for any country

Collaboration & Permissions

  • Invite WordPress users to events with email notifications
  • Event reminders via WP-Cron
  • 36 granular capabilities mapped to WordPress roles — control who can view, create, edit, and manage events

SEO & Sharing

  • Single event pages with SEO-friendly permalinks
  • Schema.org Event JSON-LD, Open Graph, and Twitter Card meta tags
  • Social share buttons and “Add to Google/Outlook/Yahoo” one-click buttons

For Developers

  • Full REST API for events, categories, holidays, and remote calendars
  • Built on Clean Architecture with webcalendar-core business logic library
  • PSR-4 autoloading, PHPStan Level 9, 1100+ automated tests
  • All calendar data in dedicated webcal_* tables — no Custom Post Types

Want Even More?

WebCalendar Pro is a separate premium plugin that adds:

  • Appointment Booking — public scheduling with availability management
  • Google & Outlook Sync — two-way OAuth synchronization
  • Multisite Network Support — shared calendars across a WordPress network
  • White-Labeling — remove all WebCalendar branding
  • Priority Support — 24-hour response time SLA

The free version you’re using right now is fully functional with zero locked features. Pro adds capabilities that aren’t included here.

Technical Note: Database Architecture

This plugin integrates webcalendar-core, a framework-agnostic Composer library that provides all calendar business logic (events, recurrence, iCal, permissions) through 17 repository classes. These repositories require PDO and use exclusively parameterized prepared statements — no raw SQL concatenation. WordPress-specific data (users, options, capabilities) is accessed via $wpdb through the plugin’s Bridge layer (WpUserRepository, WpConfigRepository, etc.). See src/Bridge/PdoFactory.php for the connection factory.

External Services

This plugin connects to the following third-party services:

Nager.Date API

Used for importing public holidays via WebCalendar > Holidays.
* Endpoint: https://date.nager.at/api/v3/
* Terms of Use
* Privacy Policy

Google Calendar Public Feeds

Alternative holiday source. Fetches public .ics files from Google.
* Endpoint: https://calendar.google.com/calendar/ical/
* Google Privacy Policy
* Google Terms of Service

Thunderbird Holiday Calendars

Alternative holiday source via community-maintained .ics files.
* Endpoint: https://www.thunderbird.net/media/caldata/
* Mozilla Terms of Use
* Mozilla Privacy Policy

Remote Calendar Sync (User-Configured)

When remote iCal subscriptions are configured, the plugin fetches .ics data from
those URLs via HTTP GET. No user data is transmitted to these services.

OpenStreetMap / Nominatim

When a single event page has a location and the map provider is set to OpenStreetMap
(the default), the plugin geocodes the address via the Nominatim API and displays a
map using OpenStreetMap tile servers. The event location string is sent as a search
query. No user personal data is transmitted.
* Geocoding endpoint: https://nominatim.openstreetmap.org/search
* Tile server: https://tile.openstreetmap.org/
* OpenStreetMap Terms of Use
* Nominatim Usage Policy
* OpenStreetMap Privacy Policy

Google Maps Embed API

When the map provider is set to Google Maps in settings, single event pages display
an embedded Google Map for the event location. The event location string and your
Google Maps API key are sent to Google. No other user data is transmitted.
* Endpoint: https://www.google.com/maps/embed/v1/place
* Google Maps Platform Terms of Service
* Google Privacy Policy

Add to Calendar Links

Single event pages include “Add to Calendar” buttons that generate links to Google
Calendar, Outlook.com, and Yahoo Calendar. When a visitor clicks a button, the event
title, date, time, location, and description are passed as URL parameters to the
chosen service. No data is sent until the visitor clicks.
* Google Calendar: https://www.google.com/calendar/render — Terms | Privacy
* Outlook.com: https://outlook.live.com/calendar/0/action/compose — Terms | Privacy
* Yahoo Calendar: https://calendar.yahoo.com/ — Terms | Privacy

Social Sharing Links

Single event pages include social sharing buttons for Facebook, X (Twitter), and
LinkedIn. When a visitor clicks a button, the event page URL and title are passed as
URL parameters to the chosen service. No data is sent until the visitor clicks.
* Facebook: https://www.facebook.com/sharer/sharer.php — Terms | Privacy
* X (Twitter): https://x.com/intent/tweet — Terms | Privacy
* LinkedIn: https://www.linkedin.com/sharing/share-offsite/ — Terms | Privacy

Development & Source Code

Full unminified source for this plugin is included in this distribution under GPL-2.0-or-later — you do not need to download anything external to rebuild the compiled assets.

What ships in this zip:

  • src/ — unminified React/JSX source for all admin components, frontend calendar, and the mini-calendar widget
  • build/ — the pre-compiled minified bundles (what the plugin actually loads at runtime)
  • package.json + package-lock.json — Node build manifest and lockfile for reproducible npm install
  • composer.json — PHP dependency manifest

Rebuilding the compiled assets from source:

Prerequisites: PHP 8.2 or higher with Composer 2, Node.js 20 or higher with npm 10.

  1. composer install — install PHP dependencies
  2. npm install — install JavaScript build dependencies (@wordpress/scripts, React, Toast UI Calendar, Leaflet, Tiptap)
  3. npm run build — compile src/index.js and src/frontend.js into the minified bundles under build/

The compiled output in build/ is byte-reproducible from the matching src/ at the same version using this toolchain.

  1. Upload the agenticdaisy-calendar folder to /wp-content/plugins/
  2. Activate the plugin through the “Plugins” menu in WordPress
  3. Navigate to WebCalendar in the admin sidebar to view the calendar
  4. Go to WebCalendar > Settings to configure time format, date format, and other options
  5. Use the [webcalendar] shortcode or the WebCalendar Gutenberg block to display the calendar on any page

Requirements:

  • PHP 8.2 or higher
  • WordPress 6.6 or higher
  • MySQL 5.7+ or MariaDB 10.3+

سوالات متداول

How do I display the calendar on a page?

Use the [webcalendar] shortcode or add the WebCalendar Calendar block in the block editor. Both support AJAX navigation between months without page reloads.

Can I import events from Google Calendar?

Yes. Export your Google Calendar as an .ics file and use WebCalendar > Import to import it. You can also use WebCalendar > Remote Calendars to subscribe to a public Google Calendar iCal URL for automatic syncing.

How do I migrate from another calendar plugin?

Export your existing calendar as an .ics file (most calendar plugins support this), then import it via WebCalendar > Import. This works with any plugin or service that exports standard iCalendar files.

Does the plugin support recurring events?

Yes. When creating or editing an event, use the recurrence builder to set daily, weekly, monthly, or yearly patterns. You can edit individual instances or the entire series.

What happens to my data if I uninstall the plugin?

By default, all calendar data is preserved when you uninstall. To delete all data on uninstall, enable the “Delete Data on Uninstall” option in WebCalendar > Settings.

Can different users have different permissions?

Yes. The plugin registers 36 capabilities mapped to WordPress roles. Administrators can manage all settings and events, Editors can manage events and categories, and Authors can create and manage their own events.

Does it work with page builders like Elementor or Divi?

Yes. Use the [webcalendar] shortcode inside any page builder. The calendar renders responsively inside any container.

Does the calendar work with my theme?

The calendar uses standard WordPress styles and adapts to your theme’s container width. It is designed to be responsive and works on desktop, tablet, and mobile.

What is your versioning and compatibility policy?

WebCalendar follows Semantic Versioning. Patch releases (1.0.x) contain bug fixes only. Minor releases (1.x.0) add features without breaking existing functionality. Major releases may include breaking changes and will be documented in the changelog. The REST API is versioned (/v1/) and will not introduce breaking changes within a major version. Security vulnerabilities should be reported to security@agenticdaisy.com — see Security Policy for our disclosure policy.

×
نظری برای این آیتم موجود نیست.
0 0 رای ها
امتیازدهی
اشتراک در
اطلاع از
0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
نسخه حجم فایل SHA256 تغییرات دانلود
1.0.3 1 مگابایت -
دانلود
×
بدون امتیاز

قیمت:

رایگان

نگارش

1.0.3

آخرین انتشار

1 خرداد 1405

آخرین بروزرسانی

4 هفته پیش

نصب های فعال

-

نگارش وردپرس

وردپرس 6.6+

تست شده از نسخه

وردپرس 6.9.4

نگارش PHP

PHP 8.2+

نسخه ها

1 نسخه