Avisos
Vaciar todo

Evitar carga de recapcha en todas la paginas menos en la pagina de contacto  

 
Walter
 Walter
Reputable Member

Hola, 

Hoy actualicé el theme y luego de ello volvió a aparece el badge recapcha en todas las paginas (no quiero que el recapcha cargue en todas las paginas ya que perjudica la velocidad) 

Oportunamente logré evitarlo con el agregado de una función (en functions.php), archivo que se modificó con la actualizacion del tema pero yo tenía el respaldo, por lo cual ahora el functions php está tal cual estaba antes. Sin embargo, el badge del recapcha de goolgle vuelve a aparecer en todas las paginas de la web.

Me podrían ayudar?

Sólo quiero que el bagge se cargue en https://estudiowls.com.ar/contacto/ (post=215)

Este es el código que estuve usando para evitar esta carga, pero ahora no logro los resultados.

// Agregado no se que hace
add_action( 'wp_footer', 'mycustom_wp_footer' );
function mycustom_wp_footer() {
?>
<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
location = 'https://estudiowls.com.ar/mensaje-enviado';
}, false );
</script>
<?php
}
// Quitar carga de archivos CF7
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
function dcms_enqueue_scripts_cf7(){
if ( is_page('contacto') ){
if ( function_exists( 'wpcf7_enqueue_scripts' ) ) wpcf7_enqueue_scripts();
if ( function_exists( 'wpcf7_enqueue_styles' ) ) wpcf7_enqueue_styles();
} else {
wp_dequeue_script('google-recaptcha');
wp_dequeue_script('wpcf7-recaptcha');
}
if ( ! is_page('contacto') ){
wp_dequeue_script('google_map_api');
}
}
add_action( 'wp_enqueue_scripts', 'dcms_enqueue_scripts_cf7' , 100);

 

Probé agregando estas lineas pero tampoco logro ningun resultado:

remove_action( 'wp_enqueue_scripts', 'wpcf7_recaptcha_enqueue_scripts' );

Y tampoco lo logro con este código

function oiw_load_recaptcha_badge_page(){
if ( !is_page( array( 'contact','other_pages' ) ) ) {
wp_dequeue_script('google-recaptcha');
}
}
add_action( 'wp_enqueue_scripts', 'oiw_load_recaptcha_badge_page' );

 

Gracias

 

Contenido solo visible a usuarios registrados

Citar
Respondido : 13/04/2021 6:28 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Walter,

Para evitar perder los cambios en tu sitio web a futuro te sugiero realices los cambios en un tema hijo o a través de algún plugin como code snippets, sobre las opcion de desactivar contact form 7 en paginas y solo activar en la pagina de contacto te sugiero revisar el siguiente articulo donde explican de forma detallada como hacer lo -> https://www.webempresa.com/blog/evitar-carga-contact-form-7-en-todas-las-paginas.html

Comprueba si con ello logras configurar nuevamente lo que deseas

Un Saludo

ResponderCitar
Respondido : 13/04/2021 6:39 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Walter
 Walter
Reputable Member

@karen Hola Karen, ese tutorial es para la carga del contact form 7, me sirve para evitar la carga del recapcha?

ResponderCitar
Respondido : 13/04/2021 6:54 pm
Bulmaro
 Bulmaro
Soporte CMS Webempresa Moderator

Hola Walter, 

Prueba con el siguiente código, teóricamente evbitará la carga de contact form y del recaptcha de Google, insértalo mediante CodeSnippets o en el functions.php de tu child-themne activo.

function oiw_disable_recaptcha_badge_post(){
   if ( !is_single( array( '2020', '2021' ) ) ) {
      wp_dequeue_script('google-recaptcha');
      add_filter( 'wpcf7_load_js', '__return_false' );
      add_filter( 'wpcf7_load_css', '__return_false' );
      remove_action( 'wp_enqueue_scripts', 'wpcf7_recaptcha_enqueue_scripts', 20 );
   }
}
add_action( 'wp_enqueue_scripts', 'oiw_disable_recaptcha_badge_post' );
ResponderCitar
Respondido : 13/04/2021 7:30 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Walter
 Walter
Reputable Member

Lo he intentado segun el tutorial que me recomendaste, logré eliminar el recapcha pero no funciona el formulario en la parte del contacto

https://estudiowls.com.ar/contacto (y tampoco aparece el recapcha alli).

ResponderCitar
Respondido : 13/04/2021 7:35 pm
Walter
 Walter
Reputable Member

@bulmaro-webempresa 

Hola, 

Habia implementado lo sugerido por Karen, pero lo eliminé y reemplacé por lo sugerido por Bulmaro.

El resultado fue que desapareció el badge del recapcha de todos lados, incluso en la parte del contacto, pero lo mas importante, es que no funciona el formulario de contacto

Da error y en el url redirige a https://estudiowls.com.ar/contacto/#wpcf7-f6813-p215-o1

 

ResponderCitar
Respondido : 13/04/2021 8:01 pm

Cursos Gratuitos WordPress

Bulmaro
 Bulmaro
Soporte CMS Webempresa Moderator

Hola Víctor, 

 

Prueba con el código que te proporcioné:

function oiw_disable_recaptcha_badge_post(){
   if ( !is_single( array( '2020', '2021' ) ) ) {
      wp_dequeue_script('google-recaptcha');
      add_filter( 'wpcf7_load_js', '__return_false' );
      add_filter( 'wpcf7_load_css', '__return_false' );
      remove_action( 'wp_enqueue_scripts', 'wpcf7_recaptcha_enqueue_scripts', 20 );
   }
}
add_action( 'wp_enqueue_scripts', 'oiw_disable_recaptcha_badge_post' );

Nota que el 2020 y 2021 los puse en negritas, estos números debes modificarlos por el identificador de la página o post que contengan formularios. Por ejemplo, en mi caso el identificador de la página de contacto lo obtengo al entrar a editarla y es el 56, observa la captura de pantalla

Captura de Pantalla 2021 04 13 a la(s) 14.05.12

 

ResponderCitar
Respondido : 13/04/2021 8:19 pm
Walter
 Walter
Reputable Member

Si claro, así lo habia hecho.

Te dejo todo el código del functions para que veas si hay alguna incompabilidad ya que yo antes tenia esta función para evitar la carga de recapcha implementada y todo funciona bien.

// Mensaje agradecimiento CF7
add_action( 'wp_footer', 'mycustom_wp_footer' );
function mycustom_wp_footer() {
?>
<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
location = 'https://estudiowls.com.ar/mensaje-enviado';
}, false );
</script>
<?php
}
// Quitar carga de archivos CF7
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
function dcms_enqueue_scripts_cf7(){
if ( is_page('contacto') ){
if ( function_exists( 'wpcf7_enqueue_scripts' ) ) wpcf7_enqueue_scripts();
if ( function_exists( 'wpcf7_enqueue_styles' ) ) wpcf7_enqueue_styles();
} else {
wp_dequeue_script('google-recaptcha');
wp_dequeue_script('wpcf7-recaptcha');
}
if ( ! is_page('contacto') ){
wp_dequeue_script('google_map_api');
}
}
add_action( 'wp_enqueue_scripts', 'dcms_enqueue_scripts_cf7' , 100);
//recapcha
function oiw_disable_recaptcha_badge_post(){
if ( !is_single( array( '215' ) ) ) {
wp_dequeue_script('google-recaptcha');
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
remove_action( 'wp_enqueue_scripts', 'wpcf7_recaptcha_enqueue_scripts', 20 );
}
}
add_action( 'wp_enqueue_scripts', 'oiw_disable_recaptcha_badge_post' );

Algo raro que veo es que en la pagina del wp-admin ahora aparece el badge recapcha y antes no

ResponderCitar
Respondido : 13/04/2021 8:34 pm

Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Si estas usando recaptcha V3 (invisible recpatcha) ten en cuenta que se carga en todas las páginas ya que intenta determinar el comportamiento del usuario.

Si sólo lo muestras en una posiblemente no bloquee el spam como lo esperas

Revisa el siguiente enlace: https://wordpress.org/support/topic/how-to-show-recaptcha-v3-badge-only-in-contact-form-page/

Revisa una de las respuestas en donde hay un código para recpatcha v3

Saludos.

ResponderCitar
Respondido : 13/04/2021 9:00 pm