Eventonomy

Questions Settings

The Questions tab is where you, the site owner, define the question bank - the pool of questions your events can ask attendees when they RSVP. Use it to collect dietary restrictions, T-shirt sizes, accessibility needs, or any other event-specific information.

Ownership is split deliberately: you own the wording, the answer type, the options and the order; each organizer then picks which of your questions their own event asks from the event editor. Organizers cannot invent new questions.

Go to Eventonomy → Settings → Questions to access these options.

What You Will Learn

  • How to enable custom RSVP questions
  • How to add and configure questions in the bank
  • The four answer types
  • How organizers choose which questions their event asks
  • How answers are stored and where you see them

Enabling Custom Questions

The Questions section is a feature card with a toggle. Turn on Custom questions and the question builder appears immediately, right below the toggle - no need to save and reload the page first. Turn it off to hide all custom questions from the RSVP form (existing answers are preserved in the database).

Adding a Question

  1. Click Add question.
  2. Enter the Question label, the text attendees see (e.g. "Dietary requirements").
  3. Choose an Answer type (see below).
  4. If the type is Choice (dropdown), enter the available options, one per line.
  5. Check Required to force attendees to answer before submitting.
  6. Click Save Changes to save all questions at once.

Answer Types

Type What it renders on the RSVP form
Short text A single-line text input
Paragraph A multi-line textarea
Choice (dropdown) A dropdown with the options you define
Checkbox A single checkbox (yes/no)

Limits

The bank holds at most 20 questions, and a Choice question at most 50 options. Anything past those limits is dropped when the settings save.

Removing and Ordering Questions

  • Remove - click the Remove button on a question row to delete it. Changes take effect after you click Save Changes.
  • Order - questions are asked in the order the rows appear in the builder, and every event asks them in that same bank order. There is no drag-and-drop reordering: to move a question, remove it and add it again in the position you want.

Choosing Questions Per Event

You define the bank; the organizer decides which of it their event uses.

In the event editor, under Questions to ask when people register, every question in the bank appears as a checkbox. Tick the ones this event should ask.

  • A new event starts with all questions ticked.
  • Untick everything to ask nothing on that event.
  • The picker only appears when the event's Registration mode is People register here - an event that registers elsewhere or takes no registrations has nothing to ask.
  • The picker only appears at all when the bank is non-empty and Custom questions is on.
  • Events created before this per-event picker existed have no stored selection, so they keep asking the whole bank. Saving such an event for the first time records an explicit selection.

Wording, answer type, options and order always come from the bank, so editing a question here updates it everywhere at once. An organizer can only choose questions, never change them.

Where Answers Are Stored

Answers are stored in the evnm_rsvps records via the evnm_meta table, keyed by question ID. They appear:

  • On the Attendees & Orders admin screen alongside each RSVP.
  • In the Export CSV download for the event.
  • In the REST API response for the RSVP resource (visible to event organizers with evnm_manage_rsvps).

Developer Notes

The bank is stored as a JSON array under evnm_settings['registration_questions'] - there is no table and no post meta. Each question has: id (stable identifier), label, type, options (array, dropdown only), required (bool). Settings::sanitize_questions() caps the array at 20 questions and each options list at 50.

An event's selection is a separate thing: an array of question ids at settings['question_ids'] inside the event row's settings JSON. Its three states are meaningful and distinct:

Stored value Meaning
key absent Ask the whole bank (back-compat for events predating the picker)
non-empty array Ask exactly those ids, in the bank's order
empty array Ask nothing, deliberately

Resolve the two together with evnm_event_registration_questions( array $event ) - the single source of truth used by the editor, the RSVP form, the REST layer and the service layer. It returns an empty array when the custom_questions feature is off. evnm_default_question_ids() returns the all-ticked default for a new event.

To add or modify questions programmatically, write the registration_questions array on the evnm_settings option (there is no dedicated filter for this list). Read the sanitized set back with \Eventonomy\Core\Settings::registration_questions(). Submitted answers arrive as the answers map on the RSVP request and are stored as the rsvp_answers meta key when the custom_questions feature is enabled; read them with evnm_get_meta( 'rsvp', $rsvp_id, 'rsvp_answers' ) or hook evnm_after_create_rsvp / evnm_rest_prepare_rsvp (see Hooks & Filters and the custom RSVP field recipe).

What's Next?

Configure currency, donations, payments (Pro), and order settings.

Money Settings →