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


Activar svg wordpress
Permitir archivos SVG en WordPress

Aunque WordPress no admite SVG de forma nativa en todos los casos, podemos superar esta limitación mediante la adición de código personalizado en el archivo […]