Skip to content

Event Booking Section — ACF Field Refactor (Option C)

Created 2026-04-21
Status planned
Tags planwebsiteeventselementoracf

Event Booking Section — ACF Field Refactor

Section titled “Event Booking Section — ACF Field Refactor”

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

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:

  1. A Fluent Snippet that filters Elementor output (rejected 2026-04-21 — don’t want to proliferate snippets).
  2. Per-event Elementor template overrides (heavyweight, manual work in Elementor UI per event).
  3. ACF fields with dynamic binding + fallbacks (this plan).
Field nameACF typeDefaultNotes
event_book_headingText(empty)Overrides “BOOK EVENT” heading when set
event_book_descriptionTextarea(empty)Overrides default body text when set
event_book_button_textText(empty)Overrides “BOOK EVENT” button label when set
event_book_student_button_textText(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.).

For each of the four hardcoded strings:

  1. Set the widget’s text/heading field to Dynamic TagsACF Field.
  2. Point it to the corresponding new ACF field.
  3. 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 Attend
    • event_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.

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.

  • 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.

  • Neuropsychology Day 2026 (post 49214, draft as of 2026-04-21): uses a <!-- wp:spacer --> block in post_content to add whitespace above the booking section. The hardcoded “BOOK EVENT” heading + body text remain.
  • event-post-system — technical reference for the event CPT, ACF fields, and Elementor routing
  • Changelog entry: ~/Documents/baseworks-changelog/CHANGELOG.md (2026-04-21)