Calendar views — one shortcode or block, five views:
- Month: navigable month with a clickable day grid and expandable event cards.
- Tiles: image cards for the month.
- Schedule: agenda grouped by day.
- Upcoming list with "load more".
- Happening now: live events with time remaining, then what comes next.
Visitors can switch views, filter by type, location and organizer, and search — without reloading the page.
Events
- Start/end, all-day and multi-day events, optional hidden end time.
- Repeating events: daily, weekly (several weekdays), monthly (same date or "2nd Tuesday / last Friday"), yearly; end after N times, on a date or never; skip dates.
- Subtitle, colour, featured events, status (scheduled, cancelled, postponed, rescheduled, moved online), online meeting link, "learn more" link.
- Locations with address and map, organizers with contact details, colour-coded event types.
- Add to Google Calendar, Apple or Outlook (.ics), plus a site-wide iCalendar feed.
- Share links, schema.org Event data for search engines.
- Duplicate events in one click.
Registrations (included, no add-on)
- Seat limit per date, several people per registration, waitlist promoted first come, first served.
- Confirmation, waitlist and "a seat opened up" emails in each person's language (French or English).
- Registrations list per date and CSV export that opens cleanly in Excel.
- Duplicate registrations blocked, spam honeypot.
Public event submissions
[cevreg_submit_form] lets anyone propose an event (title, dates, description, location, types, online link, image, contact details).
- Submissions arrive as "Pending" with a count on the Events menu; the team is emailed and approves with one click; the person gets a receipt and a "published" email.
- Spam protection: honeypot, minimum fill time, a per-visitor hourly limit, image type and size checks (all adjustable).
Settings you control — about 50 options without code: time format, first day of the week, fonts, light or dark look, shadows, button and date shapes, six free map styles, colored pins, directions with Google Maps, Apple Maps or Waze, required phone, comments and consent fields, closing registrations early, a thank-you page, a copy of confirmations, a cancellation link in emails, proposal guidelines and more.
Bilingual by design — every calendar can show French only, English only, or both side by side, whatever the site language.
Shortcodes
[cevreg_calendar view="month" lang="both" type="" location="" organizer="" featured="only|first" limit="10" filters="yes" search="yes" switcher="yes" grid="yes" hide_past="no"]
[cevreg_registration_form id="123"]
[cevreg_submit_form lang="both"]
[cevreg_my_events]
A shortcode builder is included under Events → Settings, and the "Event calendar" block offers the same options.
REST API
GET /wp-json/cevreg/v1/events?start=YYYY-MM-DD&end=YYYY-MM-DD — occurrences as JSON.
GET /wp-json/cevreg/v1/calendar?view=month&month=YYYY-MM — calendar HTML (used by the calendar script).