contact form 7 und langswitcher

  • Hallo,

    Ich mache zum ersten Mal eine Webseite mit Wordpress. Die Seite ist mehrsprachig und benötigt ein Kontaktformular. Ich habe mich bei der Mehrsprachigkeit für language switcher entschieden und das klappt auch so wie es soll. Als Kontaktformular verwende ich "contact form 7". Das Formular funktioniert, aber es ändert die Spracheinstellung nicht. Ich glaube nicht, dass es etwas mit language switcher zu tun hat, denn selbst wenn ich die locale von Wordpress manuell ändere bringt das nichts.

    Seltsam ist auch, dass contact form 7 die eigene css-Datei nicht findet oder nicht einbindet, denn das Formular hat keinerlei Styles (habs in firebug geprüft). Es gibt hier im Forum ein Thema zu den fehlenden Styles. Darin wird geschrieben, dass es am fahlenden wp-head() Aufruf liegen könnte. Der ist aber bei mir drin.

    Ich denke beide Probleme gehören irgendwie zusammen. Aus irgendeinem Grund will contact form 7 weder die Styles noch die Sprachdateien. Hat jemand ne Idee?

    Versionen:
    WP: 2.6.3
    contact form 7: 1.8.1.1
    language switcher: 1.15

    Vielen Dank

    orangeblue

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Lösung gefunden

    Hallo,

    Nach unzähligen Stunden auf der Suche nach der Ursache habe ich nun endlich eine Lösung gefunden.

    So gehts:

    Wer das Contact Form 7 Plugin zusammen mit dem langswitcher plugin verwendet muss auf folgendes achten:
    Die language Datei des CF7 plugins muss entsprechend der WPLANG Konstante benannt sein. Wenn WPLANG=de ist dann heißt die Sprachdatei des CF7 wpcf7-de.mo.

    Soweit vielleicht nichts neues. Nun muss man im Frontend von WP mittels langswitcher die Sprache umschalten z.B. in deutsch. Danach kann man ins Backend und alles sollte nun deutsch erscheinen (dazu benötigt man natürlich auch noch die de.mo im language ordner von WP).

    Nun erstellt man mit CF7 ein Formular. Das komplette Formular mit allen Beschriftungen und Formular-Fehlermeldungen wird nun von CF7 in der Datenbank gespeichert. Damit wäre ein deutsces Kontaktformular erstellt. Nun geht man ins Frontend, schaltet die Sprache auf z.B. englisch um. Geht wieder ins Backend und erstellt mit CF7 ein zweites Formular. Alle Beschriftungen und Formular-Fehlermeldungen werden nun von CF7 in englisch in der Datenbnka gespeichert.

    Nun erstellt man einen neuen Post/Page, wo man das Formular einbindet. Und dieser Post sieht dann etwas so aus:

    [lang_de][contact-form 1 "deutsches Kontaktformular"][/lang_de]
    [lang_en][contact-form 2 "englisches Kontakformular"][/lang_en]


    Wobei "deutsches Kontaktformular" der Name des CF7-Formulars ist, das man erstellt hat, als die Sprache im Backend deutsch war (also in meiner Beschreibeung das erste Formular). Und "englisches Kontaktformular" entsprechend das englische.


    Ja, das klingt kompliziert und ich weiß nicht, ob mans versteht, wie ich es jetzt beschrieben habe. Der wichtigste Punkt ist, dass CF7 die verschiedenen Formulare komplett (also alle Beschriftungen und alle Formular-Fehlermeldungen) in der Datenbank speichert und dabei die Sprachdateien verwendet. Wenn ein CF7 Formular aufgerufen wird im Frontend werden also die Beschriftungen nicht mehr aus den Sprachdateien geholt, sondern aus der Datenbank. Das Formular wird also im Frontend nicht mehr sprachlich angepasst, sondern nur beim Erstellen des Formulars im Backend.


    Hoffe, ich erspare damit jemandem Stunden an Arbeit, die es mich gekostet hat.


    Gruß


    Orangeblue

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!