Skip to content

Events Overview

What Are Events on the NOMA Site?

Events on notonemorealabama.org are powered by a Custom Post Type (noma_events) and a React app in the hello-noma WordPress theme. The site shows events in List, Grid, and Calendar views and on individual event pages. Event data comes from two sources:

  1. Givebutter sync — Ticketed event campaigns in Givebutter are synced to WordPress so the site shows the event and embeds the registration widget. Donations and tickets still flow to LGL via NOMA Sync.
  2. Manual / recurring — Staff create events in WordPress admin (e.g. weekly support groups, monthly meetings). These can be one-time or recurring (weekly/monthly); no Givebutter involved.

So: one event system (CPT + React), two ways events get there (Givebutter sync + manual/recurring).

The Event System (hello-noma theme)

  • CPT: noma_events — title, dates, venue, event type (ticketed, awareness, rsvp), optional Givebutter campaign/widget IDs, optional recurrence rules.
  • REST API: The theme exposes events (and recurrence meta) for the front end; NOMA Sync Worker calls separate endpoints to create/update events from Givebutter.
  • React app: Event archive (List, Grid, Calendar), filters, single event page. Recurring events are expanded into occurrences in the browser so each date shows correctly.
  • Admin: Meta boxes for event details, recurrence (for non-ticketed only), and Givebutter widget info when synced.

Two Data Sources

SourceTypeHow it worksDoc
GivebutterTicketed eventsGivebutter event campaign → NOMA Sync Worker → WordPress REST API → noma_events post. Site shows event and registration widget.Givebutter sync
Manual / recurringFree, non-ticketedStaff create/edit in WP admin. Optional recurrence (weekly/monthly). No Givebutter.Recurring events

Givebutter-synced events never have recurrence; the recurrence UI is hidden for them. Recurring events are WordPress-only.