Turnstile CAPTCHA For WooCommerceTurnstile CAPTCHA For WooCommerce
Buy Now
View Demo
  • Getting Started

    • Introduction
    • Quick Start
    • Features
    • Installation
    • First-Time Setup
    • Get Turnstile Keys
    • Onboarding Wizard
  • Settings

    • Settings Overview
    • API Settings
    • General
    • Design Studio
    • Conditional Rules
    • Per-Form Config
    • Notifications
  • Supported Forms

    • All Supported Forms
    • WooCommerce Forms
    • WordPress Forms
    • Third-Party Form Plugins
    • Checkout Blocks
    • Shortcode
  • Protection & Monitoring

    • Analytics Dashboard
    • Rate Limiting
    • Recovery URL
    • Email Digest
    • Webhooks
  • Developer

    • REST API
    • Filters & Hooks
    • Site Health
  • Compare

    • vs reCAPTCHA
    • vs hCaptcha
  • Help

    • Troubleshooting
    • FAQ
    • Glossary
Support
Buy Now
View Demo
  • Getting Started

    • Introduction
    • Quick Start
    • Features
    • Installation
    • First-Time Setup
    • Get Turnstile Keys
    • Onboarding Wizard
  • Settings

    • Settings Overview
    • API Settings
    • General
    • Design Studio
    • Conditional Rules
    • Per-Form Config
    • Notifications
  • Supported Forms

    • All Supported Forms
    • WooCommerce Forms
    • WordPress Forms
    • Third-Party Form Plugins
    • Checkout Blocks
    • Shortcode
  • Protection & Monitoring

    • Analytics Dashboard
    • Rate Limiting
    • Recovery URL
    • Email Digest
    • Webhooks
  • Developer

    • REST API
    • Filters & Hooks
    • Site Health
  • Compare

    • vs reCAPTCHA
    • vs hCaptcha
  • Help

    • Troubleshooting
    • FAQ
    • Glossary
Support
  • Getting Started

    • Introduction
    • Quick Start — Turnstile Live in 5 Minutes
    • Features — Everything the Plugin Can Do
    • Installation — Full Setup Guide
    • First-Time Setup
    • Get Turnstile Keys from Cloudflare
    • Onboarding Wizard
  • Settings

    • Settings Overview — All 9 Tabs
    • API Settings Tab
    • General Settings Tab
    • Design Studio Tab
    • Conditional Rules Tab
    • Per-Form Config Tab
    • Notifications Tab
  • Supported Forms

    • All Supported Forms
    • WooCommerce Forms
    • WordPress Forms
    • Third-Party Form Plugins
    • Checkout Blocks Integration
    • Shortcode — Drop the Widget Anywhere
  • Protection & Monitoring

    • Analytics Dashboard
    • Rate Limiting — Auto-Lockout for Abusive IPs
    • Recovery URL — Unlock a Stuck IP
    • Email Digest
    • Webhooks — Real-Time Alerts on Bot Spikes
  • Developer

    • REST API
    • Filters & Hooks
    • Site Health Integration
  • Compare

    • Turnstile vs Google reCAPTCHA
    • Turnstile vs hCaptcha
  • Help

    • Troubleshooting
    • Frequently Asked Questions
    • Glossary

All Supported Forms

The plugin protects 16+ form types out of the box. Use this page as a quick reference. Each form group has its own detail page with enable steps and troubleshooting.

Native WooCommerce

FormEnable OptionTabHook
Loginwkcft_loginWooCommercewoocommerce_login_form
Registrationwkcft_registerWooCommercewoocommerce_register_form
Lost Passwordwkcft_password_resetWooCommercewoocommerce_lostpassword_form
Checkout (classic)wkcft_block_checkoutWooCommerceposition configurable
Checkout (Blocks)wkcft_block_checkoutWooCommerceReact widget
Track Orderwkcft_track_orderWooCommercewoocommerce_order_tracking_form
Product Reviewwkcft_product_reviewWooCommercecomment_form_submit_button
Pay for Orderwkcft_pay_to_orderWooCommerceposition configurable

Detail: WooCommerce Forms · Checkout Blocks

Native WordPress

FormEnable OptionTabHook
Loginwkcft_wp_loginWordPresslogin_form
Registrationwkcft_wp_registerWordPressregister_form
Lost Passwordwkcft_wp_lost_passwordWordPresslostpassword_form
Commentswkcft_wp_commentWordPresspreprocess_comment

Detail: WordPress Forms

Third-Party Form Plugins

PluginEnable OptionTabRequires
Contact Form 7wkcft_cf7WooCommerce FormsCF7 plugin active
WPForms (lite + pro)wkcft_wpformsWooCommerce FormsWPForms plugin active
Gravity Formswkcft_gravityformsWooCommerce FormsGravity Forms active
Elementor Pro Formswkcft_elementorWooCommerce FormsElementor Pro active
Formidable Formswkcft_formidableWooCommerce FormsFormidable active
Forminatorwkcft_forminatorWooCommerce FormsForminator active
bbPresswkcft_bbpressWooCommerce FormsbbPress active
BuddyPresswkcft_buddypressWooCommerce FormsBuddyPress active
Easy Digital Downloadswkcft_eddWooCommerce FormsEDD active
WooCommerce Subscriptionswkcft_subscriptionsWooCommerce FormsWC Subscriptions active

Detail: Third-Party Form Plugins

Custom Forms (Shortcode)

For any other form — a custom MailChimp sign-up, a theme-built form, a page builder widget — drop the shortcode where you want the widget:

[wkcft-turnstile]

Detail: Shortcode

Enable Pattern (Same for Every Form)

  1. Go to WooCommerce → Turnstile Settings
  2. Pick the right tab (WooCommerce / WordPress / WooCommerce Forms)
  3. Tick the form you want
  4. Save Changes
  5. Flush any caching plugin
  6. Test in an incognito window

Enable Status Badges

On the WooCommerce Forms tab (third-party plugins), each form shows a status badge:

BadgeMeaningAction
ActivePlugin is installed and activeTick the checkbox, save
InstalledPlugin is present but not activatedClick "Activate" link
Not installedPlugin is not presentClick "Install" link

If the plugin is not active, the checkbox is disabled.

Hook Priority

Internal hook priorities are tuned so Turnstile renders after the main form fields but before the submit button. You should not see visual order issues.

If you do see a weird order (e.g., widget above the form title), your theme is filtering the form hook aggressively — see Troubleshooting.

Multi-Handler Forms

Some forms (like the WC checkout) have both a classic and a Blocks version. The plugin handles both with a single toggle (wkcft_block_checkout). You do not need two settings.

Enable + Skip Interaction

If a form is ticked here AND a condition on Conditional Rules matches for the current visitor, the widget may still render but validation skips. This is intentional — visitors see the widget (so they know there is protection) but you bypass the actual check for trusted users.

You can change this by using execute appearance mode (General Settings) to fully hide the widget even when rendered.

Complete Form Slug Reference (for Per-Form Config / filters)

Used by Per-Form Config and the $form_context parameter in filters.

SlugForm
loginWC Login
registerWC Register
password_resetWC Lost Password
checkoutWC Checkout (classic)
pay_orderWC Pay for Order
track_orderWC Track Order
product_reviewWC Product Review
woocommerce-checkoutWC Blocks Checkout
wp_loginWP Login
wp_registerWP Register
wp_lost_passwordWP Lost Password
wp_commentWP Comments
contact-form-7 or cf7Contact Form 7
wpformsWPForms
gravityformsGravity Forms
elementorElementor Pro Forms
formidableFormidable Forms
forminatorForminator
bbpressbbPress
buddypressBuddyPress
eddEasy Digital Downloads

Related Pages

  • WooCommerce Forms — Native WC detail
  • WordPress Forms — Native WP detail
  • Third-Party Form Plugins — 10 plugins detail
  • Checkout Blocks — Modern checkout
  • Shortcode — Custom placement
  • Per-Form Config — Override styling per form
Next
WooCommerce Forms