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

Relacionados


Cómo configurar el slug /blog/ solo para entradas en WordPress y redirigir correctamente

En ocasiones, necesitamos modificar la estructura de enlaces permanentes en WordPress para que solo las entradas del blog tengan el slug /blog/, mientras que el […]

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 […]