Description
Axiom Event Calendar is a powerful yet simple plugin designed to bring your events from the Axiom Event Systems platform directly into your WordPress site. It offers 12 display modes, a visual shortcode builder with live preview, smart recurring-event collapsing, and granular control over what information appears on each card.
Key Features:
- Twelve Display Layouts: Grid, List, Monthly Calendar, Mini Calendar, Next-Up Hero, Carousel, Masonry, Compact, Timeline, Grouped-by-Month, Featured Hero + Feed, and Poster (images only).
- Visual Shortcode Builder: Build your shortcode directly in the WordPress admin with a layout picker, conditional controls, live preview, and one-click copy-to-clipboard.
- Thirteen Shortcode Attributes: Control layout, limit, image fit, aspect ratio, hero accent color, hero gradient style, columns, and toggles for images, date, and location; plus month-grouping and featured-card options.
- Smart Recurring Events: Automatically collapses consecutive events from the same series to keep your views clean and organized.
- Seamless Integration: Fetches events in real-time via the Axiom Event Systems API.
- Performance Focused: Built-in 1-hour caching ensures fast load times for your visitors.
- Responsive & Modern: CSS Grid and Flexbox based layouts with mobile breakpoints at 768px and 480px.
Screenshots




Installation
- Upload the
axiom-event-calendarfolder to the/wp-content/plugins/directory. - Activate the plugin through the ‘Plugins’ menu in WordPress.
- Go to the new Event Calendar top-level admin menu (same icon as Axiom Vendor Calendar) to configure your API connection.
- Use the built-in Shortcode Builder to generate a shortcode, or manually add
[axiom_calendar]to any page or post.
FAQ
-
Where did the settings page go?
-
As of 1.2.0 the plugin now uses a top-level Event Calendar admin menu entry (matching the Axiom Vendor Calendar plugin) instead of nesting under Settings.
-
How do I build a shortcode?
-
Open the Event Calendar admin page and use the Shortcode Builder on the right side. Pick a layout, adjust any attributes, then click “Copy Shortcode” and paste it into your post.
-
How do I clear the event cache?
-
Go to the Event Calendar admin page, scroll down to the Tools section, and click “Clear Cache”. The Test Connection button in the same section will also force a fresh fetch.
-
What shortcode attributes are available?
-
The plugin supports 13 attributes:
layout,limit,image_fit,aspect,hero_accent,hero_gradient,columns,show_images,show_date,show_location,group_by,featured_count,feed_layout. See the full attribute documentation in the admin Instructions panel for code examples. -
Can I use this for multiple organizations?
-
The plugin currently supports one organization connection at a time via the settings page.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Axiom Event Calendar” adalah perisian sumber terbuka. Orang-orang berikut telah menyumbang kepada pemalam ini.
PenyumbangTranslate “Axiom Event Calendar” into your language.
Berminat dalam pembangunan?
Layari kod, periksa repositori SVN, atau langgani log pembangunan dengan RSS.
Changelog
1.2.11
- Bug fix (Carousel arrows no-op / Safari & Chrome): jQuery.animate was being called with
easeOutCubiceasing which is only available in jQuery UI, not in WordPress’s bundled jQuery core. This threw an internaljQuery.easing[...] is not a functionerror inside each arrow click handler before any scroll could execute, silently aborting the action. Replaced easing string withswing(jQuery core default/native) and nudged duration to 300ms so arrows move the track reliably in every browser with no jQuery UI dependency. - Bug fix (Next Up Hero — oversized title + clipping): hero title was
clamp(1.8rem, 3.9vw, 4.25rem)which capped at 68px and rendered multi-line event names at 68px/line; when combined with the countdown, meta rows, and the CTA button the frosted-glass stack grew taller than the panel itself, and overflow:hidden on the hero card then clipped the CTA button (only a blue strip was visible). Complete shrink pass: title clamp reduced toclamp(1.35rem, 2.5vw, 2.6rem)on desktop andclamp(1.2rem, 7vw, 2.1rem)/clamp(1.15rem, 7.2vw, 1.75rem)on tablet/phone — roughly a 39% reduction at the clamp cap while keeping readable. Panel now usesdisplay:flex flex-direction:column gap:12pxinstead of per-elementmargin-bottomfor deterministic spacing. Countdown cd-block min-width + padding + cd-val font-size all reduced ~20%. Hero min-height bumped 420 520px (tablet 380430, phone 340460) so the 16:9 card always has breathing room for the full vertical stack even on short/very-wide viewports. Badge, date, location, button all reduced in size/padding to fit. - Design: Hero stack max-width reduced
min(720px, 72%)min(680px, 66%)to keep the title line count closer to 3 on wide viewports.
1.2.10
- Bug fix: Carousel layout directional arrows now actually scroll the track by 2 cards (plus gap) per click with easing; previously the buttons existed but had no event handlers wired.
- Bug fix: Calendar layout now renders prev/next month navigation buttons and rebuilds the entire grid + in-cell event thumbnails on the client from an inline events JSON payload so users can advance past the current month.
- Bug fix: Mini Calendar layout gains the same prev/next navigation controls and rebuilds both the compact month grid and the “This Month” event list (respecting the
limitshortcode attribute) as users page through months. - Bug fix: Next Up Hero layout no longer clips the top of long event titles. The frosted-glass overlay panel is now vertically centered, min-height raised to 420px, panel uses flex column layout with word-break guards, and padding expanded so all content fits within the rounded 16:9 card boundary.
- Enhancement: Added
blueprint.jsonfor WordPress Playground that activates the plugin from the WP.org directory, brands the demo site as “Axiom Event Calendar Plugin Demo” with author “AxiomEventSystems”, and creates 12 demonstration posts (one per layout slug) with default settings, all 12 slugs now exactly matching the plugin’sallowed_layoutslist. - UX: Calendar and Mini Calendar headers are now flex layouts with the month title centered and 40px/32px circular navigation buttons on the sides, including focus outlines for keyboard accessibility.
1.2.9
- Fix: Builder preview now refreshes when limit, aspect, image-fit, checkbox, and new Next Up Hero controls change, so the preview stays in sync with the generated shortcode.
- Fix: Builder preview now bypasses the transient cache and fetches fresh live events, which prevents stale event counts from lingering in the admin preview.
- UX: Preview meta now reports shown events versus fetched events when recurring-event collapsing reduces the rendered count.
- Feature: Added
hero_accentandhero_gradientshortcode attributes for the Next Up Hero layout. - Design: Reworked the Next Up Hero with layered background treatments, stronger countdown cards, and a polished no-image fallback so the upper portion of the hero no longer feels empty.
1.2.8
- Feature: Next Up Hero layout now includes a live countdown timer overlay showing Days / Hours / Minutes remaining until the event starts, with frosted-glass block styling and backdrop blur.
- Feature: Countdown timer automatically initializes on the frontend and re-initializes after each Shortcode Builder AJAX preview refresh in the admin.
- Assets: Added
assets/js/calendar.jswith a date parser that handles both YYYY-MM-DD and combined date+time formats (ISO 8601 or space-separated). - Enqueue: Frontend
wp_enqueue_scriptsnow registers the main calendar script with jQuery dependency, loaded in the footer. - Admin:
admin_enqueue_scriptson the settings page now also enqueuescalendar.jsso the Shortcode Builder preview can display the countdown timer live.
1.2.7
- CSS: Updated Posters layout to respect the
aspectandimage_fitshortcode attributes via CSS custom properties. - CSS: Fixed a layout issue where posters in the last row would grow excessively wide in Auto column mode.
- CSS: Improved default aspect-ratio handling by removing the hardcoded
autodefault for media-aspect variables, allowing layout-specific fallbacks (3:4 for posters, 16:9 for cards) to work correctly.
1.2.6
- Fix: Defined the missing
AXIOM_EVENT_CALENDAR_FILEconstant in the bootstrap file to resolve a PHP Fatal Error on the admin settings page (PHP 8.0+). - Admin: Fixed a missing argument in a
sprintf()call within the Shortcode Builder’s preview meta banner.
1.2.5
- Fix: Resolves the settings-page critical error (“There has been a critical error on this website.”) by correcting the plugin include order so
api.php(fetch + recurring filter) andshortcode.php(12 layout renderers +axiom_parse_bool+axiom_unique_dom_id) are loaded BEFOREadmin-settings.php, which calls into both during the initial page-load preview render. - Admin:
rest_sanitize_booleanis now guarded withfunction_existsin the preview AJAX handler. On WordPress installs where the REST polyfill has not loaded, a local fallback that accepts the same true-ish strings ('1','true','yes','on','y') is used instead — prevents a potential undefined-function fatal on the AJAX path. - Admin: Initial
axiom_ec_preview_render_html()call in the Builder now has anis_arrayfallback that defaultshtml/events/mode/errorto safe empty values, so an unexpected return shape cannot trigger illegal-offset warnings or subsequent type fatals. - Bootstrap:
add_shortcode( 'axiom_calendar', … )now runs immediately aftershortcode.phpis loaded (same result as before) — keeps boot order explicit and easier to audit.
1.2.4
- Security: Second pass on
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized— the sanitizer now directly wrapswp_unslash( $_POST[$k] )on the superglobal read instead of using an intermediate$rawvariable, so the PHPCS taint analysis correctly recognizes the sanitization. - Admin: Array-type guard for each POST key moved into the foreach
continuecondition alongside theisset()check (! isset || is_array → skip), preventingsanitize_text_fieldfrom ever receiving an array. - Admin: Eliminated the dead-code
is_array( $v ) ? '' : …fallback in the else branch since$vis now provably a scalar string.
1.2.3
- Security: Fixed
WordPress.Security.ValidatedSanitizedInput.InputNotSanitizedwarning in theaxiom_ec_ajax_refresh_previewAJAX handler. - Admin: All 11 POST attributes (
layout,limit,image_fit,aspect,columns,show_images,show_date,show_location,group_by,featured_count,feed_layout) are now sanitized viasanitize_text_fieldimmediately afterwp_unslashbefore downstream type-specific casting. - Admin: Array-injection guard on each raw POST value now runs BEFORE
sanitize_text_fieldto avoid sanitizer coercion edge-cases.
1.2.2
- Admin: Builder preview now renders REAL event data using the exact same 12 shortcode layout renderers as the frontend — preview matches live output pixel-for-pixel.
- Admin: Live events are fetched from the configured API on preview render; falls back to 6 realistic demo events when no API is configured or the API call errors.
- Admin: Preview refresh uses 90ms debounce + request-ID guard to prevent race conditions when typing limit/columns quickly.
- Admin: Live/Demo status pill with event count shown above the preview; inline red error banner displays the exact WP_Error message when live fetch fails.
- Admin: Enqueues the public
calendar.csson the admin settings page so preview cards share identical styles with the frontend. - Admin: Removed dead miniature CSS classes and static preview-template generator (~700 lines) that produced fake colored blocks.
- Admin: Fixed WordPress.WP.I18n.MissingTranslatorsComment plugin-checker error on Tools “Connection Successful!”
_n()message with proper translators comment. - Admin: Initial preview HTML rendered on page-load via PHP, saving one admin-ajax round-trip.
- Packaging: Zip build now excludes
*/.DS_Storerecursively in addition todocs/for clean WordPress.org uploads.
1.2.1
- Readme: Shortened the 1.2.0 Upgrade Notice to comply with WordPress.org’s 300-character maximum.
- Admin: Builder preview area now switches live when selecting a layout (12 unique miniatures).
- Admin: “Available Shortcode Options” panel now starts collapsed; click the caret in the header to expand.
- Admin: Quick Start Guide header also supports the caret toggle.
- Admin: Organization ID field is now hidden by default and only appears when the Axiom API URL contains
https://events.axiomeventsystems.com.
1.2.0
- Admin: Replaced the nested Settings page with a top-level “Event Calendar” menu using
dashicons-calendar-alt, matching Axiom Vendor Calendar. - Shortcode: Expanded from 3 layouts to 12 — Grid, List, Calendar, Mini Calendar, Next-Up Hero, Carousel, Masonry, Compact, Timeline, Grouped, Featured, Poster.
- Shortcode: Added 11 attributes — layout, limit, image_fit (contain/cover), aspect (16:9/4:3/1:1), columns (1-6), show_images, show_date, show_location, group_by, featured_count, feed_layout.
- Shortcode: Smart CSS custom-property propagation for image_fit, aspect, and masonry columns.
- Admin: Two-column Shortcode Builder with 4-col layout picker, conditional controls per layout, live shortcode generation, and copy-to-clipboard with fallback.
- Admin: Quick Start Guide + per-layout/attribute documentation in the Instructions panel.
- Admin: Tools section with Test Connection & Fetch Events (with plural-aware result message) and Clear Cache actions, nonce-guarded.
- Locations: Cascading location resolution
venue_namecity, stateplain location field. - Dates: Uses
date_i18nthroughout for locale-aware formatting. - Responsive: Mobile breakpoints at 768px and 480px across all 12 layouts.
1.1.7
- Added support for venue names in API feeds.
- Updated grid view to display the specific venue name as the primary location.
1.1.4
- Rebranded technical wording to “Axiom Event Systems”.
- Added standard readme.txt for WordPress.org submission.
- Improved admin settings UI with better descriptions.
1.1.3
- Implemented smart recurring event filtering.
1.1.0
- Added Monthly Calendar and Event Poster views.
1.0.0
- Initial release.
