Event Booking Section — ACF Field Refactor (Option C)
Event Booking Section — ACF Field Refactor
Section titled “Event Booking Section — ACF Field Refactor”Context
Section titled “Context”The event custom post type’s booking section on baseworks.com is rendered by the global Elementor template “BW Single Event Post Template NEW” (ID 12347), which applies to all events in event_year taxonomies 2024/2025/2026.
Currently the booking section contains hardcoded strings:
- Heading:
BOOK EVENT - Body text: “For more information and to secure your spot, visit the event webiste below.” (typo: “webiste”)
- Button label:
BOOK EVENT - Student button label:
BOOK EVENT AS A STUDENT
These strings live inside _elementor_data on post 12347 at the following paths:
[1].elements[0].elements[3].elements[0].elements[0].settings.title— heading[1].elements[0].elements[3].elements[0].elements[3].settings.text— first button[1].elements[0].elements[3].elements[0].elements[4].settings.text— student button
Problem
Section titled “Problem”Different event types need different CTA language:
- Conferences (Neuropsychology Day, BRNet, ICNN): “Register to Attend” is more accurate — attendees register on an external Eventbrite or institutional page, not “book” in the commercial sense.
- Workshops / Practice Meets (Tokyo, Bucaramanga): “Book Event” is accurate — students pay to attend.
- Programs (Study Group, Practice Sessions): booking section is disabled entirely; these have their own landing-page flows.
Because the text is hardcoded in the shared template, we cannot differentiate language per event without one of:
- A Fluent Snippet that filters Elementor output (rejected 2026-04-21 — don’t want to proliferate snippets).
- Per-event Elementor template overrides (heavyweight, manual work in Elementor UI per event).
- ACF fields with dynamic binding + fallbacks (this plan).
Proposed Refactor
Section titled “Proposed Refactor”1. Add ACF fields to the event post type
Section titled “1. Add ACF fields to the event post type”| Field name | ACF type | Default | Notes |
|---|---|---|---|
event_book_heading | Text | (empty) | Overrides “BOOK EVENT” heading when set |
event_book_description | Textarea | (empty) | Overrides default body text when set |
event_book_button_text | Text | (empty) | Overrides “BOOK EVENT” button label when set |
event_book_student_button_text | Text | (empty) | Overrides “BOOK EVENT AS A STUDENT” label when set |
All four fields should be optional. Empty = use the current hardcoded default.
Register in the same ACF field group as existing event booking fields (event_book_url, event_book_url_student, event_show_book_section, etc.).
2. Update Elementor template 12347
Section titled “2. Update Elementor template 12347”For each of the four hardcoded strings:
- Set the widget’s text/heading field to Dynamic Tags → ACF Field.
- Point it to the corresponding new ACF field.
- Use Elementor’s fallback option to supply the current hardcoded string.
Result: if the ACF field is empty on the event post, the fallback renders — identical to today’s behavior. If the ACF field is set, it overrides.
3. Set fields on existing conference events
Section titled “3. Set fields on existing conference events”After deployment, set on each active conference:
- Neuropsychology Day 2026 (post 49214):
event_book_heading:Register to Attendevent_book_description:For more information and to secure your spot, visit the Eventbrite booking page below.event_book_button_text:Register to Attend
- BRNet 2026 (post 49121): same treatment (check/confirm)
- Neuropsychology Day 2025 (post 36808): same treatment, retroactive
Workshops (Tokyo, old events) stay on the hardcoded defaults — no action needed.
4. Also fix the typo
Section titled “4. Also fix the typo”While editing, fix the existing typo in the body text: “webiste” → “website” (or replace with the new sentence entirely).
Additional Layout Fix (to consider at the same time)
Section titled “Additional Layout Fix (to consider at the same time)”The booking section sits flush against the preceding post_content gallery/image with no margin above it. Currently mitigated per-event by adding a Gutenberg spacer block to post_content. Better fix: add padding-top to the booking section’s container in template 12347 so every event gets breathing room automatically.
Estimated Effort
Section titled “Estimated Effort”- ACF field registration: ~10 minutes
- Elementor template dynamic-binding edits: ~30 minutes (UI work in the builder)
- Backfill existing conference posts: ~10 minutes
- Typo fix + padding adjustment: ~5 minutes
- Testing across representative events: ~20 minutes
Total: ~75–90 minutes. Non-urgent — only affects conference-type events that use the booking section, and the current workaround (per-post spacer) + hardcoded “Book Event” is tolerable for now.
Workarounds Currently in Place
Section titled “Workarounds Currently in Place”- Neuropsychology Day 2026 (post 49214, draft as of 2026-04-21): uses a
<!-- wp:spacer -->block inpost_contentto add whitespace above the booking section. The hardcoded “BOOK EVENT” heading + body text remain.
Related
Section titled “Related”- event-post-system — technical reference for the event CPT, ACF fields, and Elementor routing
- Changelog entry:
~/Documents/baseworks-changelog/CHANGELOG.md(2026-04-21)