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.
Captures d’écrans




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.
Avis
Il n’y a aucun avis pour cette extension.
Contributeurs/contributrices & développeurs/développeuses
« Axiom Event Calendar » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.
ContributeursTraduisez « Axiom Event Calendar » dans votre langue.
Le développement vous intéresse ?
Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.
Journal des modifications
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.
