Das Contact Form 7 eines der besten Plugins zum Erstellen von Formularen ist, steht ausser Frage. Weil sich damit, aufgrund einer Vielzahl von Erweiterungen, deutlich mehr als einfache Kontaktformulare erstellen lässt. Leider lädt allerdings auch CF7 (wie viele andere Plugins auch) seine benötigten JS- und CSS-Dateien bei jedem Aufruf Deiner WordPress Seite, was zu einer schlechteren Performance und Ladezeit Deiner Seite führt.
Mit Hilfe des folgenden Snippets sorgst Du dafür, dass die CF7 Dateien nur auf Seiten geladen werden, die auch den Contact Form 7 Shortcode enthalten. Füge ihn einfach am Ende vor dem schließenden „?>“ bzw nach dem letzten „}“ in die Datei functions.php Deines Themes ein.
// laden der CF7 Dateien nur, wenn sie benötigt werden
function wpup_cf7_jscss_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', 'wpup_cf7_jscss_load', 99 );