Comment ne charger les scripts Contact Form 7 que si nécessaire

Contact Form 7 est un plugin très puissant mais qui à le désavantage d’être lourd car il charge de nombreux scripts javascripts et feuilles de styles pour lui permettre d’être si puissant. Et de fait cela ralentit considérablement votre site/blog avec 3 requêtes en plus sur chaque pages.

 

C’est pourquoi il est préférable de ne faire appel à ces fichiers que si vous avez un formulaire contact form 7 à afficher.

Comment charger contact form 7 que sur les pages contact ?

Ajoutez la fonction suivante à votre fichier functions.php :

// appeler contact form 7 que quand nécéssaire.
function wpln_cf7_conditional_load() {
  $load_scripts = false;
  if ( is_singular() ) {
    $post = get_post();
    if( has_shortcode( $post->post_content, 'contact-form-7' ) ) {
        $load_scripts = true;
    }
  }
  if ( ! $load_scripts ) {
    wp_dequeue_script( 'contact-form-7' );
    wp_dequeue_style( 'contact-form-7' );
  }
}
add_action( 'wp_enqueue_scripts', 'wpln_cf7_conditional_load', 99 );