Licinio Event Calendar
Event calendar, event list, category view and timeline blocks, with optional Contact Form 7 booking.
by Mario Flores · github.com/umlouco/calendar-plugin-main · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/umlouco/calendar-plugin-main/archive/refs/heads/master.zipEvent calendar, event list, category view and timeline blocks for WordPress, with optional Contact Form 7 booking and attendee limits.
- Documentation: https://mario-flores.com/plugins/licinio-event-calendar/
- WordPress.org listing text: readme.txt
Requirements
- WordPress 7.0 or later
- PHP 8.0 or later
- Contact Form 7 (optional, for event booking)
Features
- Calendar block: interactive FullCalendar-based event calendar with month/week/list views.
- Event List block: upcoming events in a list with date badges.
- Category View block: events filtered by category with a calendar/list toggle.
- Timeline block: horizontal timeline of events with booking status and CF7 integration.
- Custom post type (
licinio_event) with event dates, poster, booking form and attendee limit. - REST API endpoint (
/licinio-event-calendar/v1/events) used by the calendar views. - Admin settings page for global defaults (default view, timezone, max events, colour scheme).
Usage
Once activated, edit any page or post with the block editor and add one of the four Licinio Event Calendar blocks:
- Licinio Event Calendar: a full interactive calendar. Adjust the period, category and post type in the block settings panel.
- Licinio Event List: a styled list of events. Customise the number of events, category, post type and thumbnail visibility.
- Licinio Category View: events with a category dropdown and a calendar/list toggle.
- Licinio Timeline: a timeline showing event dates, titles, places left and a "Book Now" button (requires Contact Form 7).
All blocks inherit global defaults from Settings > Licinio Event Calendar when individual block attributes are not customised.
Shortcodes
The same layouts are available as shortcodes for legacy pages and classic-editor content:
[licinio_calendar category="qa" period="month" max_events="10"][licinio_event_list category="qa" period="month" limit="10" show_thumbnails="false"][licinio_category_view category="qa" period="month" max_events="10"][licinio_timeline category="qa" period="year" max_events="20"]
[licinio_event_category_view] and [licinio_event_timeline] are accepted aliases.
Event dates
Dates are read from the native _licinio_event_start_date / _licinio_event_end_date fields, then from legacy Toolset fields. Add your own keys with the licinio_calendar_start_meta_keys and licinio_calendar_end_meta_keys filters.
Event management
Events are managed under Events in the admin. Each event supports:
- Start and end dates via the Event Date metabox.
- A poster image and event categories.
- An optional Contact Form 7 booking form.
- A maximum attendee count with automatic "Fully Booked" status.
REST API
GET /wp-json/licinio-event-calendar/v1/events:category,start/start_date,end/end_date,period,post_type,limit,include_fullGET /wp-json/licinio-event-calendar/v1/events/{id}
Both endpoints are read-only and return only published posts from public post types.
Development
There is no build step. The block editor and view scripts in blocks/ are plain JavaScript that uses the wp.* globals, and each block's dependencies are declared in its editor.asset.php. Edit the files directly.
js/fullcalendar.min.js is the unmodified FullCalendar 6.1.21 standard bundle (MIT): https://github.com/fullcalendar/fullcalendar/tree/v6.1.21
Regenerate the translation template after changing strings:
wp i18n make-pot . languages/licinio-event-calendar.pot --exclude=js/fullcalendar.min.js
Releasing
bin/build.sh creates build/licinio-event-calendar-<version>.zip, leaving out everything listed in .distignore. WordPress.org listing assets (icon, banner, screenshots) live in .wordpress-org/.
License
GPL-2.0-or-later. See LICENSE.