Skip to content
WordPress Events Calendar
  • FeaturesExpand
    • Monthly calendar view
    • List view
    • Daily agenda view
    • Event management
    • Venues and organizers
    • Timezones and all-day events
    • Gutenberg block
    • Add to Calendar
    • Categories and tags
    • Google Calendar import
    • Event submissions
  • Live Demo
  • DocsExpand
    • Installation
    • Creating events
    • Shortcode and block
    • Switch from The Events Calendar
    • Import a calendar
    • Troubleshooting
    • Event submissions
    • Page builders
    • Translation
  • CompareExpand
    • vs The Events Calendar
    • vs Modern Events Calendar
    • vs Sugar Calendar
  • Blog
  • Download free
WordPress Events Calendar

Home / Docs / Developer Documentation

Developer Documentation

Monthly Events Calendar is built for developers: an events calendar REST API, standard WordPress post types, a template you can override from your theme, and hooks for each part of the event page. Everything here applies to version 1.6.

Events calendar REST API

GET /wp-json/ecwp/v1/events

Public, read-only, returns published events only. Each item is one occurrence, so a multi-date event can appear more than once.

ParameterExampleNotes
year, monthyear=2026&month=11Events overlapping that month. Default: current month.
upcoming, fromupcoming=1&from=2026-11-05Events starting on or after that day.
searchsearch=yogaMatching events on any date.
timezonetimezone=Asia/KolkataVisitor’s IANA timezone, used for month and day boundaries. Default: site timezone.
tax, termtax=wood-category&term=12Filter by event category or tag (term ID).
per_pageper_page=501–200, default 100.

Response item:

{
  "id": 123,
  "source": "ecwp",
  "title": { "rendered": "Summer Fair" },
  "link": "https://example.com/events/summer-fair/",
  "ecwp": {
    "startdate": 1786000000,
    "enddate": 1786010800,
    "allday": false,
    "timezone": "Europe/London",
    "color": "#6d28d9",
    "excerpt": "Stalls, music and food…",
    "img": "https://example.com/wp-content/uploads/fair-150x150.jpg",
    "venue": "Town Square"
  }
}

startdate and enddate are Unix timestamps. source is tec for events read from The Events Calendar in compatibility mode.

The settings used by the front end are at GET /wp-json/ecwp/v1/settings. Events are also exposed by the core endpoint /wp/v2/wood-event, with the same ecwp field.

Data model

ItemName
Events post typewood-event
Venues post typewood-venue
Organizers post typewood-organizers
Categories / tagswood-category / wood-event-tag
Event dates (post meta)_ecwp_start, _ecwp_end (local time, Y-m-d H:i:s), _ecwp_timezone, _ecwp_all_day
Occurrences table{prefix}ecwp_occurrences (UTC; rebuilt from the meta)
Venue / organizers on an eventecwp_venue_id, ecwp_organizer_id (array)
Colour, websiteecwp_event_text_bg, ecwp_event_url_website

The 1.5 keys ecwp_event_date_start and ecwp_event_date_end (Unix timestamps) are still kept in sync, and writing them still works, so older import scripts don’t break. New code should use the event store:

Ecwp_Event_Store::save( $post_id, '2026-12-01 18:00:00', '2026-12-01 20:00:00', 'Europe/London', false );
$dates = Ecwp_Event_Store::get( $post_id ); // start_local, end_local, timezone, all_day, start_ts, end_ts

Template override

Copy public/partials/single-wood-event.php from the plugin to your theme as single-wood-event.php and edit it. The plugin uses your theme’s copy automatically.

Actions and filters

HookTypeUse
modern_single_template_start, modern_single_template_endactionWrap the event page.
modern_single_sidebaractionOutput the event details sidebar.
modern_organizersactionOutput the organizers list.
monthly_events_timefilterChange how a date/time is formatted on the event page.
monthly_events_venuefilterChange the venue name shown.
modern_sidebar_titlefilterChange the sidebar heading.
ecwp_default_event_colorfilterColour for events without one (1.6).
ecwp_archive_calendarfilterReturn false to keep your theme’s archive at /events/ (1.6).
ecwp_tec_shortcode_aliasfilterReturn false to stop handling [tribe_events] (1.6).
ecwp_tec_event_colorfilterColour for events shown from The Events Calendar (1.6).
ecwp_tec_import_past_window, ecwp_tec_import_future_windowfilterSeconds before/after today to import recurring dates (1.6).
ecwp_tec_import_seo_meta_prefixesfilterMeta key prefixes copied on import (1.6).

Example — show the calendar in a theme template:

<?php echo do_shortcode( '[wp_monthly_events view="list"]' ); ?>

Imports and submissions (1.7 and 1.8)

  • Calendar import (1.7): Ecwp_Ical_Importer::sync_source( $id ) syncs a saved calendar from code, for example on a schedule; Ecwp_Ical_Importer::sources() lists them. Filters ecwp_ical_parse_args and ecwp_ical_event_postarr; actions ecwp_ical_imported and ecwp_ical_synced.
  • Asset loading (1.7): the calendar’s scripts load only where a calendar or an event is shown. Use the ecwp_load_assets filter to force them on or off for a page, and ecwp_load_fonts to turn the bundled fonts off.
  • Event submissions (1.8): ecwp_submit_event( $args ) creates an event under the rules set in Events Calendar → Submissions, and POST /ecwp/v1/submissions does the same over REST. Full reference
  • Structured data (1.8): the ecwp_event_schema filter changes the Event data printed on event pages; return false to print none.

Translations

The text domain is monthly-events-calendar. Translate on translate.wordpress.org or with Loco Translate.

WordPress Events Calendar
  • Switch from The Events Calendar
  • About
  • Changelog
  • Roadmap
  • Support

© 2026 WP Monthly Events

Scroll to top
  • Features
    • Monthly calendar view
    • List view
    • Daily agenda view
    • Event management
    • Venues and organizers
    • Timezones and all-day events
    • Gutenberg block
    • Add to Calendar
    • Categories and tags
    • Google Calendar import
    • Event submissions
  • Live Demo
  • Docs
    • Installation
    • Creating events
    • Shortcode and block
    • Switch from The Events Calendar
    • Import a calendar
    • Troubleshooting
    • Event submissions
    • Page builders
    • Translation
  • Compare
    • vs The Events Calendar
    • vs Modern Events Calendar
    • vs Sugar Calendar
  • Blog
  • Download free