Axiom Event Calendar

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

  1. Upload the axiom-event-calendar folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Go to the new Event Calendar top-level admin menu (same icon as Axiom Vendor Calendar) to configure your API connection.
  4. 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.

Contributeurs

Traduisez « 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 easeOutCubic easing which is only available in jQuery UI, not in WordPress’s bundled jQuery core. This threw an internal jQuery.easing[...] is not a function error inside each arrow click handler before any scroll could execute, silently aborting the action. Replaced easing string with swing (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 to clamp(1.35rem, 2.5vw, 2.6rem) on desktop and clamp(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 uses display:flex flex-direction:column gap:12px instead of per-element margin-bottom for 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 limit shortcode 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.json for 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’s allowed_layouts list.
  • 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_accent and hero_gradient shortcode 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.js with a date parser that handles both YYYY-MM-DD and combined date+time formats (ISO 8601 or space-separated).
  • Enqueue: Frontend wp_enqueue_scripts now registers the main calendar script with jQuery dependency, loaded in the footer.
  • Admin: admin_enqueue_scripts on the settings page now also enqueues calendar.js so the Shortcode Builder preview can display the countdown timer live.

1.2.7

  • CSS: Updated Posters layout to respect the aspect and image_fit shortcode 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 auto default 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_FILE constant 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) and shortcode.php (12 layout renderers + axiom_parse_bool + axiom_unique_dom_id) are loaded BEFORE admin-settings.php, which calls into both during the initial page-load preview render.
  • Admin: rest_sanitize_boolean is now guarded with function_exists in 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 an is_array fallback that defaults html/events/mode/error to 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 after shortcode.php is 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 wraps wp_unslash( $_POST[$k] ) on the superglobal read instead of using an intermediate $raw variable, so the PHPCS taint analysis correctly recognizes the sanitization.
  • Admin: Array-type guard for each POST key moved into the foreach continue condition alongside the isset() check (! isset || is_array → skip), preventing sanitize_text_field from ever receiving an array.
  • Admin: Eliminated the dead-code is_array( $v ) ? '' : … fallback in the else branch since $v is now provably a scalar string.

1.2.3

  • Security: Fixed WordPress.Security.ValidatedSanitizedInput.InputNotSanitized warning in the axiom_ec_ajax_refresh_preview AJAX 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 via sanitize_text_field immediately after wp_unslash before downstream type-specific casting.
  • Admin: Array-injection guard on each raw POST value now runs BEFORE sanitize_text_field to 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.css on 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_Store recursively in addition to docs/ 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_name city, state plain location field.
  • Dates: Uses date_i18n throughout 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.