Como cargar scripts y CSS de Contact Form 7 solo donde sea necesario

Seguro que conoces Contact Form 7 (CF7), es uno de los plugins más conocidos para crear formularios de contacto en WordPress.

Cuando se activa Contact Form 7, se agregan varios archivos JavaScript y CSS a todas las páginas que se cargan cada vez que se visitan aunque en ellas no haya ningún formulario.

En la mayoria de los casos solo se va a utilizar el formulario en una sola página por lo que la carga de estos scripts y CSS sobra en el resto y afecta a la carga de la página.

Para evitar la carga de estos archivos en páginas que no tengan un formulario de contacto puedes usar este snippet en el functions.php de tu theme:

add_filter( 'wpcf7_load_js', '__return_false' ); // Desactivar JavaScript de CF7
add_filter( 'wpcf7_load_css', '__return_false' ); // Desactivar CSS de CF7
add_action('wp_enqueue_scripts', 'load_wpcf7_scripts');
function load_wpcf7_scripts() {
    if ( is_page('contacto') ) {
        if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
            wpcf7_enqueue_scripts();
        } 
        if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
            wpcf7_enqueue_styles();
        }
    }
}

En este caso hemos desactivado los archivos JS y CSS de todas las páginas y se mostrarán solamente en la página «contacto» (linea 5) que es donde tenemos un formulario de CF7.

Si en tu caso hay varias páginas que tengan un formulario, reemplaza la linea 5 por esta otra indicando cada una de las páginas donde haya un formulario de CF7:

is_page( array( 'contacto' , 'presupuestos' ) )

Fuente

Deja un comentario