FaithGrowth recently approached me to help build out a custom event registration system for a client with the following scope:
- Supports single and group registrations
- Supports multiple different registration types and sub-types
- The ability to create custom questions depending on the registration type
- Take payments
- Query data
- Manage user checkin and hardware distribution
- Generate custom reports
It seems like event registration is the “better mouse trap” of the WordPress industry and we hit a home run with this project!
We had a limited budget and timeframe, so I opted to use pre-existing plugins wherever possible. So we ended up using EDD for payment processing, GravityForms to gather registration meta and store it to the Attendees custom post type, and CMB2 for creating custom meta boxes.
I built an infrastructure that auto created a product in EDD when a page was marked as a registration page and automatically added price points when the registration type meta fields were filled out. Meta boxes were also added to associate Gravity Form fields with the different registration types, thus allowing custom data to be gathered depending on the registration type.
All of the information gathered from Gravity Forms was stored as meta in the custom Attendee post type that I created so that we could retrieve the information at a later time via the CSV download button.
I also built out report pages and checking pages that allowed real time asynchronous checkin at the event.