Aunque nos gusta mucho como funciona el plugin Contact Form 7, no todo es perfecto. Por defecto carga todos sus scripts y estilos en todas las páginas del sitio wordpress.

Podemos forzar a que sólo cargue su código cuando hay un formulario presente en la página o en el post. Tanto en el editor de WordPress o si es un campo de Advanced Custom Fields.

También hemos tenido en cuenta la integración recaptcha que ayuda a minimizar el spam que recibimos.

El siguiente código puedes copiarlo al final del archivo functions.php de tu tema activo, o de su child theme. Si no utilizar ACF puedes eliminar la variable $shortcode_formulario y su condición. Y si utilizas ACF solo tendrás que sustituir el valor get_field(‘shortcode_formulario’,$post) por el nombre del campo que utilizas para tus formularios de CF7.

// Optimización Contact Form 7

function contactform_dequeue_scripts() {
    $load_scripts = false;
    if( is_singular() ) {
        $post = get_post();
	$shortcode_formulario = get_field('shortcode_formulario',$post);

        if( has_shortcode($post->post_content, 'contact-form-7') ) {
            $load_scripts = true;
        }
	elseif( $shortcode_formulario ) {
            $load_scripts = true;
	}
    }
    if( ! $load_scripts ) {
        wp_dequeue_script( 'contact-form-7' );
        wp_dequeue_script( 'google-recaptcha' );
        wp_dequeue_script( 'wpcf7-recaptcha' );     
        wp_dequeue_style( 'contact-form-7' );
		wp_dequeue_style( 'wpcf7-recaptcha' );
    }
}
add_action( 'wp_enqueue_scripts', 'contactform_dequeue_scripts', 99 );

Este ajuste mejorará el rendimiento y la velocidad global del sitio.

Compartir en

Comentarios
Deja tu comentario
Tu dirección de correo electrónico no será publicada. Todos los campos son obligatorios.
       Es necesario aceptar la política de privacidad para comentar.

Relacionados


23/02/2024
Añadir campo personalizado a email de WooCommerce

Si utilizas Advanced Custom Fields en WordPress con WooCommerce, es muy posible que utilices algún campo personalizado en cada producto. Si quieres que ese campo […]

Mejorar SEO canonicals Prestashop

Os compartirmos un fragmento de código que mejora el comportamiento de las etiquetas canonical en Prestashop. La etiqueta canonical se utiliza para indicar a los […]

6 consejos sencillos para proteger tu WordPress

Proteger WordPress es crucial para mejorar la seguridad de tu sitio web. Aquí hay algunos consejos sencillos que puedes implementar: Recuerda que la prevención es […]