2021
Este es el código que uso yo en WordPress:
<?php
/*Desactivamos Contact Form 7 y Recaptcha en todas las páginas menos en las que se utiliza.*/
function desactiva_cf7_recaptcha() {
//ponemos la variable hayformulario a false.
$hayformulario = false;
// En este ejemplo la página con formulario de contacto tiene ID=3411, pero debes cambiar ese ID por el de tu página de contacto.
if( is_page('425')) {
$hayformulario = true;
}
//por tanto si hayformulario es false (no hay formulario en esa página), elimina el script cargado previamente de contact form 7 y de google recaptcha
if( !$hayformulario ) {
wp_dequeue_script( 'contact-form-7' );
wp_dequeue_style( 'contact-form-7' );
wp_dequeue_script('google-recaptcha');
}
}
add_action( 'wp_enqueue_scripts', 'desactiva_cf7_recaptcha');
/*fin desactivar Contact Form 7*/
/* Añadir en este orden el css, lo quitamos de todo y lo ponemos donde aparezca el formulario*/
add_action( 'wp_head', function () { ?>
<style>
/* MOVER CAPTCHA*/
.grecaptcha-badge {
width: 70px !important;
overflow: hidden !important;
transition: all 0.3s ease !important;
left: 4px !important;
}
.grecaptcha-badge:hover {
width: 256px !important;
}
/* ocultar CAPTCHA*/
.grecaptcha-badge {
visibility: hidden;
}
.page-id-425 .grecaptcha-badge, .page-id-0 .grecaptcha-badge {
visibility: visible !important;
}
</style>
<?php } );
/* fin del css */
tien varias soluciones incluso plugin para v2 con contact form https://www.tictacsoluciones.com/blog/eliminar-distintivo-recaptcha-v3
la mejor es la de no cargar el plugins si no hay formulario
se puede ocultar con: Invisible reCaptcha for WordPress: https://wordpress.org/plugins/invisible-recaptcha/
2020
