Buenos días,
Hemos instalado este script en nuestro wordpress, pero parece que no funciona, ya que sigue cargando en cada visita https://www.sertmedia.com/only-load-contact-form-7/
¿Cómo puedo solucionarlo para que no cargue en cada visita y mejore la carga de la web?
Gracias,
Un saludo
Hola Antonio.
Prueba añadiendo el siguiente código:
function carga_recaptcha3(){
if ( !is_page('contacto') ) {
wp_dequeue_script('google-recaptcha');
}
}
add_action( 'wp_enqueue_scripts', 'carga_recaptcha3' )
Esto mostrará solo en la página de contacto, tienes que tener en cuenta que el slug de tu página de contacto tiene que ser " contacto ", si tiene otro nombre hay que cambiarlo en el código
Si quieres que se muestre en más páginas puedes utilizar un array
function carga_recaptcha3(){
if ( !is_page(array('contacto', 'presupuesto-online', 'empleo')) ) {
wp_dequeue_script('google-recaptcha');
}
}
add_action( 'wp_enqueue_scripts', 'carga_recaptcha3' );
Lo mismo que en el anterior solo tienes que añadir/modificar el slug
Un saludo
Elimino el anterior y pongo este nuevo? O añado este debajo?
Por cierto, que no cargue en cada visita significa que no sea visible?
Hola Antonio.
Perdona pero creo en un principio me equivoque en lo que buscas, creía que lo que querias que no cargara es el recaptcha.
Lo que buscas es que no cargue CSS ni JS de contact.
Para no registra CSS:
// Deregister estilos CSS de Contact Form 7 en las páginas sin formulario add_action( 'wp_print_styles', 'we_deregister_styles', 100 ); function we_deregister_styles() { if ( ! is_page( 'contacto' ) ) { wp_deregister_style( 'contact-form-7' ); } }
Para los JS:
// Deregister JavaScrip de Contact Form 7 en las páginas sin formulario add_action( 'wp_print_scripts', 'we_deregister_javascript', 100 ); function we_deregister_javascript() { if ( ! is_page( 'contacto' ) ) { wp_deregister_script( 'contact-form-7' ); } }
Estos codigos los puedes añadir en tu plugin de Snippets :
-> https://es.wordpress.org/plugins/code-snippets/
O al final del archivo Functions.php que encontrarás dentro de wp-content -> themes -> Tu_plantilla.
Un saludo
Vale, y poniendo este código qué es lo que voy a conseguir?
Ocultar el formulario?
Hola Antonio.
No, el formulario no se oculta aparecerá en la pagina donde lo tengas añadido.
Con esos códigos evitas la carga de CSS y JS que utiliza contact Form y que por defecto carga en todas las paginas aunque no esté presente ningún formulario.
Un saludo