feature: Add calendar layout and occurrence handling functionality

- Introduced `calendar-layout.php` to manage month grid generation, occurrence intersection checks, and segment assignments for events.
- Added `occurrences.php` for normalizing, validating, and displaying event occurrences, including migration from legacy formats.
- Implemented functions for parsing dates, validating occurrence ranges, and formatting occurrences for display.
- Established hooks for synchronizing event occurrence data upon saving posts and validating ACF repeater fields.
This commit is contained in:
Keith Solomon
2026-07-06 10:26:36 -05:00
parent 6ba917bf9b
commit 42ff7754cb
16 changed files with 2205 additions and 344 deletions
+5 -2
View File
@@ -3,7 +3,7 @@
* Plugin Name: AA Events
* Plugin URI: https://github.com/automattic/aa-events
* Description: An Events management plugin for WordPress, with accessible calendar (WCAG 2.2AA) and card grid views.
* Version: 1.0.0
* Version: 1.2.0
* Author: Keith Solomon
* Author URI: https://vincentdesign.ca
* License: GPL-2.0+
@@ -26,6 +26,9 @@ function activate_aa_events() {
events_register_post_type();
events_register_event_type_taxonomy();
events_register_event_tag_taxonomy();
if ( function_exists( 'aa_events_schedule_occurrence_index_backfill' ) ) {
aa_events_schedule_occurrence_index_backfill();
}
// Flush rewrite rules.
flush_rewrite_rules();
@@ -46,7 +49,7 @@ register_deactivation_hook( __FILE__, 'deactivate_aa_events' );
* Define Constants
*/
define( 'AA_EVENTS_PLUGIN_FILE', __FILE__ );
define( 'AA_EVENTS_VERSION', '1.0.0' );
define( 'AA_EVENTS_VERSION', '1.2.0' );
define( 'AA_EVENTS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
define( 'AA_EVENTS_PLUGIN_URL', plugin_dir_url( __FILE__ ) );