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


Calendario entradas wordpress
30/12/2024
Cómo modificar fechas de las entradas de WordPress de forma masiva

Durante la migración del blog de un cliente, en el feed de entradas de su antigua web, tenía una estructura limitada, con título, imagen destacada […]

agencia-marketing-digital
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 […]