Contact Form 7: CSS und JavaScript deaktivieren

Illustration von Freepik

Beim Aufruf deiner Seite lädt Contact Form 7 (CF7) mehrere Skripte, selbst wenn gerade kein Kontaktformular angezeigt wird. Mit diesen beiden Codeschnipseln passt du das Verhalten des WordPress Plugins auf deinen Bedarf an.

Styles und Scripts deaktivieren

Zuerst fügst du diese beiden Filter in die functions.php Datei deines WordPress Themes ein. Sie sorgen dafür, dass die Contact Form 7 CSS und JavaScript Dateien nicht mehr automatisch geladen werden.

/**
 * Dequeue Contact Form 7 Scripts
 *
 * Entfernt das CF7 JavaScript und CSS von allen Seiten.
 */
function wps_contact_form_7_dequeue_scripts() {
    add_filter( 'wpcf7_load_js', '__return_false' );
    add_filter( 'wpcf7_load_css', '__return_false' );
}

add_action(
    'wp_enqueue_scripts',
    'wps_contact_form_7_dequeue_scripts'
);

Um keine Konflikte mit anderen Anweisungen zu verursachen, habe ich die Filter in einer Funktion verpackt.

Styles und Scripts für bestimmte Seiten manuell laden

Danach kannst du über folgendes Schnipsel festlegen, auf welchen Seiten Contact Form 7 laden soll. Ich habe mich für Seiten mit dem Titel „Kontakt“ entschieden.

/**
 * Enqueue Contact Form 7 Scripts
 *
 * Fügt die Scripte nur auf bestimmten Seiten hinzu.
 */
function wps_contact_form_7_enqueue_scripts() {
    if ( is_page( 'Kontakt' ) ) { 
        if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
            wpcf7_enqueue_styles();
        }
        if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
            wpcf7_enqueue_scripts();
        }
    }
}

add_action(
    'wp_enqueue_scripts',
    'wps_contact_form_7_enqueue_scripts'
);

Auch dieser Code gehört in deine functions.php Datei. Am besten fügst du ihn direkt unterhalb des anderen Schnipsels ein.

Du kannst übrigens auch andere Bedingungen, wie is_post() verwenden. Eine vollständige Liste aller Bedingungen findest du im WordPress Codex.

Marvin Kronenfeld
Marvin Kronenfeld

Marvin arbeitet als Front End Developer, spricht fließend JavaScript und ist immer für eine BEM-Diskussion zu haben.