Avisos
Vaciar todo

[Resuelto] Evitar que Contact Form 7 cargue en cada visita  

 
David Gospelman
 David Gospelman
Usuario experto

Buenos días:

 

Me han aconsejado en el Departamento de Webempresa que evite que Contact Form 7 cargue en cada visita, puesto que está saturando los recursos.

 

Captura de Pantalla 2021 01 25 a la(s) 19.28.11

 

Me han propuesto el siguiente tutorial: https://www.sertmedia.com/only-load-contact-form-7/

 

Pero me da diferentes alternativas y lugares donde insertar el código, y no estoy seguro de la mejor opción para mi caso.

 

Los formularios de contact form 7 los tengo en la Página de Inicio y en la página de Contacto.

 

¿Podríais guiarme de una manera más precisa cual de los dos códigos que propone me conviene más y el lugar donde debo colocarlo?

 

¡Muchas gracias! 🙂

Contenido solo visible a usuarios registrados

Respondido : 26/01/2021 10:35 am
Pepe
 Pepe
Soporte CMS Webempresa Moderator

Hola David.

Lo primero seria evitar la carga de los JS y CSS.

.- Accede a tu cuenta de cPanel ->Administrador de archivos 

.- Accede a la careta donde tienes la instalación -> wp-content -> themes -> Tu_plantilla

.- Edita el archivo functions.php y al final del archivo añade lo siguiente:

add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );

 

Con esto hemos logrado detener la carga de esos archivos pero claro los necesitamos cargar en las páginas donde tengamos formularios y eso es lo que vamos a realizar en el siguiente paso.

 

En el mismo archivo que antes después del código anterior añade lo siguiente:

function we_carga_contactform7(){
if ( is_page('contacto, inicio') ) {
if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
wpcf7_enqueue_scripts();
}

if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
wpcf7_enqueue_styles();
}
}
}
add_action( 'wp_enqueue_scripts', 'we_carga_contactform7' );

 

Si te das cuenta en el código tenemos una condición en la que le indicamos las páginas donde tiene que cargar los archivos, en este caso sería en la página de contacto y en la de inicio " if ( is_page('contacto, inicio') ) ".

Podemos añadir las páginas que necesitemos simplemente añadiendo slug de la página y separándolas por comas.

 

Nota: Recuerda descargar una copia del archivo antes de añadir el código.

 

Espero que sirva para lo que buscas, de no ser así por favor indicalo para que podamos seguir ayudándote.

 

Un saludo

 

Respondido : 26/01/2021 11:02 am
David Gospelman
 David Gospelman
Usuario experto

@pepesoler

 

Genial, todo correcto, tendré en cuenta añadir el slug si añado otro formulario en una página distinta tal como me indicas.

 

¡Muchas gracias! 🙂

 

Solucionado.

Respondido : 26/01/2021 12:13 pm
Pepe
 Pepe
Soporte CMS Webempresa Moderator

Hola David.

Me alegar que lo solucionaras 😀 

Cualquier consulta que tengas no dudes en comunicarlo.

 

Cerramos el tema.

Un saludo

Respondido : 26/01/2021 12:56 pm