Hi,
I needed Turnstile on Elementor Pro's Form widget, which the plugin doesn't cover yet, so I built it as a module in the style of your existing Turnstile ones, against 1.10.0. Sharing it in case you want it.
What it does:
One heads-up from along the way:
Happy to restructure it (say as a proper
Thanks for the plugin, it's doing a lot of work for us.
I needed Turnstile on Elementor Pro's Form widget, which the plugin doesn't cover yet, so I built it as a module in the style of your existing Turnstile ones, against 1.10.0. Sharing it in case you want it.
What it does:
- Injects the widget into Elementor Pro forms at render time, just before the submit button. Skips the editor/preview and any form that already has its own captcha field.
- Validates on submit through your existing
verifyTurnstileResponse()plumbing, failing closed. One trap worth flagging: Elementor only blocks the submission when$ajax_handler->errorsis non-empty, soadd_error_message()alone shows the visitor an error while the email still sends. An empty-idadd_error('', '')alongside it is what actually stops the send. - Adds an "Elementor" checkbox to the Contact forms group of your Turnstile settings via the
app_for_cf_turnstile_formsfilter, off by default.
One heads-up from along the way:
Turnstile/MetForm.php hardcodes id="cf-turnstile", so on a page with more than one MetForm only the first widget renders. The per-widget id approach in this module fixes the same problem.Happy to restructure it (say as a proper
turnstile field type instead of auto injection) if you'd rather.Thanks for the plugin, it's doing a lot of work for us.
Attachments
Last edited: