Quill Forms Integration
Quill Forms is a React-based WordPress form builder that renders its forms as a full single-page experience. Because Quill Forms is a React SPA, WP Smart Consent uses a different consent mechanism compared to standard PHP-rendered form plugins.
Enabling the Integration#
In the WP Smart Consent dashboard, go to Form Sources and toggle Quill Forms on. Per-form behavior is then configured individually from the Quill Forms form list.

Per-Form Settings#
Quill Forms registers a quill_forms post type but its builder is a full React SPA at admin.php?page=quillforms rather than the standard WordPress post editor. WP Smart Consent adds a WP Smart Consent row action to the Quill Forms form list at Quill Forms → Forms. Hover over any form and click WP Smart Consent in the row actions to open per-form settings. Settings are stored in post meta since quill_forms is a real WordPress post type.
Form Type#
Contact form — Quill Forms is a React SPA and there is no PHP hook available to inject a checkbox before the submit button. In Contact mode, consent is captured via a Quill Forms Legal block that you add directly to your form inside the Quill Forms builder. After adding a Legal block to the form, open the WP Smart Consent per-form settings and select that block as the Consent block from the dropdown.
At submission time, WP Smart Consent reads the Legal block’s value — yes or no — and translates it to the standard opt-in flag. Only submissions where the visitor accepted the Legal block are forwarded to your CRM destinations.
Newsletter form — no consent block is required. Every successful submission is treated as an opt-in and forwarded automatically.
Collect Fields#
Map the form’s fields to standard WPSC data fields. Quill Forms identifies each field by its block UUID — a unique identifier assigned when the block is added to the form (for example abc123-def4-...). The dropdown in the per-form settings is populated automatically from the form’s registered blocks. Field value lookups at submission time use direct array access against $entry->records['fields'] keyed by block UUID.
Email — required. First name, Last name, Phone, Company, Country — all optional.
Extra Fields#
Below the standard field selectors, the Extra fields section lets you map any additional Quill Forms field to a custom CRM key. Select the form field on the left and enter the CRM key on the right. That key is sent alongside the standard contact data on every opt-in.
Submission Hook#
WP Smart Consent listens on quillforms_entry_processed, which fires after every Quill Forms submission is processed — including when entry storage is disabled. WP Smart Consent gates on the $context value being submission to ensure only real frontend submissions trigger consent capture, not internal processing calls.
Troubleshooting#
Consent not being captured in Contact mode — confirm a Legal block has been added to the form in the Quill Forms builder and that it is selected as the Consent block in the WP Smart Consent per-form settings. If no Legal block is mapped, WP Smart Consent has no way to read the consent state and no contact will be forwarded.
Row action not visible — confirm the Quill Forms integration is enabled in the WPSC dashboard. The row action is added to the quill_forms post type list screen. If the list screen is not at the standard URL, navigate to Quill Forms → Forms directly.
Wrong field values forwarded — Quill Forms fields are identified by block UUID, not label. If a block was deleted and re-added in the builder, it receives a new UUID and the mapping needs to be updated. Re-open the WP Smart Consent per-form settings and re-select the correct blocks.