Configure forms, registry keys, and schemas

This guide is split by task. Developers edit wckd-forms/forms/registry.php and files under wckd-forms/forms/schemas/. Managers (users who can open Settings → Forms per dashboard_can_manage in your build) adjust routing, mail, and embed snippets without touching PHP on every change. You will know how the three layers fit together and how to add a new template safely.

Every live form resolves a registry key to a PHP schema; the second argument to wckd_form() sets the placement label stored as form_name for inbox and performance filters.

You map the embed string to files on disk before you change settings.

  1. Open wckd-forms/forms/registry.php in an editor.
  2. Note the array key (for example default): that string is the first argument to wckd_form().
  3. Open the linked file under wckd-forms/forms/schemas/ and scan field names, types, and database column mapping.

Screenshot. Show one registry entry and its schema header in your editor.

You override thank-you URLs, mail, routing, auto-reply, and optional per-form SMTP without redeploying PHP for every tweak. Department routing is set in the form builder on the Department field’s Choices (staff@email|Label lines). Multi-email forward (signed per-page staff address via PHP) is under Advanced settings. Neither is on the Operations tab — see Notifications for how they differ.

  1. Sign in as a Manager (or other role your install allows into settings).
  2. Open Settings → Forms and click Configure on the template key you located in Step 1.
  3. Under Advanced settings, use each checkbox to reveal custom thank-you / not-sent URLs, contact fields, SMTP, auto-reply, or Use multi-email forward when needed.
  4. Save the form; repeat for each registry key you expose to editors.

Screenshot. Show Settings → Forms with one template selected.

Managers can change which fields appear on the public form and their order without editing PHP by hand, as long as your install exposes the flyout.

  1. Open Settings → Forms and click Configure on a template.
  2. Use Add field, move up/down, and remove to shape the schema. The Field list combines built-in columns (name, email, phone, department dropdown, address fields, message, etc.) with anything you added under Settings → Form Fields (Your fields).
  3. For dropdowns and radios, fill Choices (one per line; optional value|Label).
  4. For a Department dropdown that routes staff mail, add the Department field archetype and fill Choices with one line per inbox: staff@example.com|Sales (email first, then label).
  5. Scroll to Advanced settings: each topic is its own box. Checkboxes toggle custom fields below (thank-you URLs, contact mail, SMTP, auto-reply, multi-email forward). Configure those, then click Save Form.
  6. Database caveat: new custom column names must appear in wckd-forms/app/config/app.php under submissions.allowed_columns or intake will not store them; coordinate with whoever maintains app.php when you introduce new wf_* fields.

You paste the same PHP the docs describe, generated for the active key.

  1. Stay on Settings → Forms for the selected template.
  2. Copy the head snippet into your site layout once per page.
  3. Copy each body snippet into placements; edit the placement label string before saving the theme file.

You centralize reusable field definitions when your build wires them into the form UI.

  1. Open Settings → Form Fields.
  2. Click Add field, fill the overlay, and save to add a definition under Your fields.
  3. Use Edit or Delete on each row to change or remove a custom definition. Core fields are read-only reference.
  4. Update schemas that should reference the new definitions (developer step).

You introduce a new registry key backed by a new schema file.

  1. Copy an existing file in wckd-forms/forms/schemas/ to a new filename.
  2. Edit the new schema: adjust labels, field names, and db_column values following patterns from the file you copied.
  3. Add a new entry to wckd-forms/forms/registry.php with a unique key pointing at the new schema path.
  4. Deploy the PHP files to the server.
  5. Open Settings → Forms, select the new key, set mail and URLs, then save.
  6. Embed with wckd_form('your_new_key', 'Placement label'); and run the verification step below.

Operators change password or display name without touching registry files.

  1. Viewers: open Settings → Profile, edit, then save.
  2. Managers and owners: open Settings → People & access, choose Edit on your row, then save.
  3. Sign out and back in if the UI prompts for a refreshed session.

You confirm intake accepts the schema and the dashboard lists the submission.

  1. Submit once from a page that embeds the key you changed.
  2. Expect a thank-you redirect without a ?wckd= error query.
  3. Open Leads and confirm a row exists with the placement label you passed to wckd_form().
  • Intake rejects the submission: registry path typo or schema mismatch; compare forms/registry.php to files on disk.
  • Allowed columns error after schema change: new field names are not listed in submissions.allowed_columns inside wckd-forms/app/config/app.php; align the schema with that list or extend the list through the path your build documents.
  • Duplicate placement labels: two calls use the same second argument; pick distinct labels per placement for reporting.