The plugin has a filter to skip adding and verifying hCaptcha on a specific form. The filter receives three parameters: current protection status (‘true’ by default), source and form_id.
The source is the plugin’s slug (like ‘directory/main-plugin-file.php’), the theme name (like ‘Avada’) or the WordPress core (like ‘WordPress’).
The form_id is the form_id for plugins like Gravity Forms or WPForms, the post id for comments, or a general name of the form when the form does not have an id (like WordPress core login form).
Filter arguments for some plugins/forms are listed below.
Affiliates
$source: ‘affiliates/affiliates.php’
$form_id: ‘login’ or ‘register’
Back In Stock Notifier
$source: ‘back-in-stock-notifier-for-woocommerce/cwginstocknotifier.php’
$form_id: product_id
BBPress
$source: ‘bbpress/bbpress.php’
$form_id: ‘new_topic’, ‘reply’, ‘login’, ‘register’ or ‘lost_password’
Beaver Builder
$source: ‘bb-plugin/fl-builder.php’
$form_id: ‘contact’ or ‘login’
Blocksy
$source: ‘blocksy’
$form_id: ‘newsletter-subscribe’, ‘$layer[“__id”]’, or ‘product_id
Brizy
$source: ‘brizy/brizy.php’
$form_id: ‘form’
BuddyPress
$source: ‘buddypress/bp-loader.php’
$form_id: ‘create_group’ or ‘register’
Classified Listing
$source: ‘classified-listing/classified-listing.php’
$form_id: ‘contact’, ‘login’, ‘lost_password’ or ‘register’
Divi
$source: ‘Divi’
$form_id: post_id for comment form, ‘contact’, ’email_optin’, or ‘login’
Download Manager
$source: ‘download-manager/download-manager.php’
$form_id: post_id of download item in the admin
Easy Digital Downloads
$source: ‘easy-digital-downloads/easy-digital-downloads.php’
$form_id: ‘checkout’, ‘login’, ‘lost_password’ or ‘register’
Elementor Pro
$source: ‘elementor-pro/elementor-pro.php’
$form_id: Form ID set for the form Content->Additional Options or ‘login’
Events Manager
$source: ‘events-manager/events-manager.php’
$form_id: event_id
Icegram Express
$source: ’email-subscribers/email-subscribers.php’
$form_id: form_id
Customer Reviews for WooCommerce
$source: ‘customer-reviews-woocommerce/ivole.php’
$form_id: review or q&a
Jetpack
$source: ‘jetpack/jetpack.php’
$form_id: ‘contact_$form_hash’
Kadence Form
$source: ‘kadence-blocks/kadence-blocks.php’
$form_id: post_id
Kadence Advanced Form
$source: ‘kadence-blocks/kadence-blocks.php’
$form_id: form_id
LearnDash
$source: ‘sfwd-lms/sfwd_lms.php’
$form_id: ‘login’, ‘lost_password’ or ‘register’
LearnPress
$source: ‘learnpress/learnpress.php’
$form_id: ‘checkout’, ”login’, or ‘register’
Login/Signup Popup
$source: ‘easy-login-woocommerce/xoo-el-main.php’
$form_id: ‘login’, or ‘register’
MemberPress
$source: ‘memberpress/memberpress.php’
$form_id: ‘login’ or ‘register’
Paid Memberships Pro
$source: ‘paid-memberships-pro/paid-memberships-pro.php’
$form_id: ‘checkout’ or ‘login’
Passster
$source: ‘content-protector/content-protector.php’
$form_id: area_id
Password Protected
$source: ‘password-protected/password-protected.php’
$form_id: ‘protect’
Profile Builder
$source: ‘profile-builder/index.php’
$form_id: ‘login’, ‘lost_password’ or ‘register’
Simple Membership
$source: ‘simple-membership/simple-wp-membership.php’
$form_id: ‘login’, ‘lost_password’ or ‘register’
Subscriber
$source: ‘subscriber/subscriber.php’
$form_id: ‘form’
Support Candy
$source: ‘supportcandy/supportcandy.php’
$form_id: ‘form’
Theme My Login
$source: ‘theme-my-login/theme-my-login.php’
$form_id: ‘login’, ‘lost_password’ or ‘register’
Tutor LMS
$source: ‘tutor/tutor.php’
$form_id: ‘checkout’, ”login’, ‘lost_password’ or ‘register’
Ultimate Addons
$source: ‘ultimate-elementor/ultimate-elementor.php’
$form_id: ‘login’ or ‘register’
Ultimate Member
$source: ‘ultimate-member/ultimate-member.php’
$form_id: form_id or ‘password’
UsersWP
$source: ‘userswp/userswp.php’
$form_id: ‘forgot’, ‘login’ or ‘register’
WooCommerce Germanized
$source: ‘woocommerce-germanized/woocommerce-germanized.php’
$form_id: ‘return_request’
WooCommerce Wishlist
$source: ‘woocommerce-wishlists/woocommerce-wishlists.php’
$form_id: ‘form’
wpDiscuz
$source: ‘wpdiscuz/class.WpdiscuzCore.php’
$form_id: post_id
WPForms
$source: ‘wpforms-lite/wpforms.php’ or ‘wpforms/wpforms.php’
$form_id: form_id
wpForo
$source: ‘wpforo/wpforo.php’
$form_id: ‘new_topic’ for a new topic form and topicid for a reply form. Topicid can be found in HTML code searching for ‘data-topicid’ in Elements.
Wordfence Login Security
$source: ‘wordfence-login-security/wordfence-login-security.php’
$form_id: ‘login’
Wordfence Security
$source: ‘wordfence/wordfence.php’
$form_id: ‘login’
WordPress Core
$source: ‘WordPress’
$form_id: post_id for comment form, ‘login’, ‘lost_password’, ‘password_protected’, or ‘register’
WooCommerce
$source: ‘woocommerce/woocommerce.php’
$form_id: ‘checkout’, ‘login’, ‘lost_password’, ‘order_tracking’, or ‘register’
Below is an example of how to skip the hCaptcha widget on a Gravity Form with id = 1.
/** * Filters the protection status of a form. * * @param string|mixed $value The protection status of a form. * @param string[] $source Plugin(s) serving the form. * @param int|string $form_id Form id. * * @return bool */ function hcap_protect_form_filter( $value, $source, $form_id ): bool { $value = (bool) $value; if ( ! in_array( 'gravityforms/gravityforms.php', $source, true ) ) { // The form is not sourced by Gravity Forms plugin. return $value; } if ( 1 !== (int) $form_id ) { // The form has id !== 1. return $value; } // Turn off protection for a Gravity form with id = 1. return false; } add_filter( 'hcap_protect_form', 'hcap_protect_form_filter', 10, 3 );