Kategorien
Allgemein PHP Programmierung Wordpress

WordPress: ‚qTranslate‘ und ‚Contact Form 7‘

Wer mehrsprachige Seiten benötigt, kann das recht gut mit dem PlugIn qTranslate umsetzen.
Doch wie können auch Formulare des PlugIns Contact Form 7 sprachabhängig gemacht werden?

Hier besteht der „Trick“ darin, nicht jedes Formular selbst zweisprachig, sondern je Sprache ein eigenes Formular zu erstellen.
Der qTranslate-Syntax <!--:de-->Deutsch<!--:--><!--:en-->German<!--:-->, wie er z.B. noch innerhalb der Menüpunkte nutzbar ist, funktioniert im Formular nämlich nicht.

Nachdem nun für jede Sprache ein Formular vorhanden ist, kann dieses innerhalb des Sprachabhängigen Content entsprechend eingesetzt werden.

Um eine feste Einbindung z.B. innerhalb einer Themedatei zu erhalten, kann folgender PHP-Code genutzt (und ggf. erweitert) werden:

if     (qtrans_getLanguage() == 'de') {echo do_shortcode( '[contact-form-7 id="67" title="Kontaktformular (DE)"]' );}
elseif (qtrans_getLanguage() == 'en') {echo do_shortcode( '[contact-form-7 id="70" title="Contactform (EN)"]' );}

Wobei die ID und TITLE natürlich noch entsprechend angepasst werden müssen.

2 Antworten auf „WordPress: ‚qTranslate‘ und ‚Contact Form 7‘“

Hallo Derill.
Der Code ist für ein Seitentemplate gedacht.
Du mußt also ein eigenes Seitentemplate für die Kontaktseite erstellen und kannst dort diesen Codeschnippsel nutzen.
Zu Seitentemplates findest Du z.B. im WordPress Codex oder auch hier weitere Infos…
Viel Erfolg!
 
UPDATE:
Gerade noch gesehen, auch auf der Entwicklerseite wird empfohlen, zwei unterschiedliche Formulare zu erstellen.
Diese können ja dann auf den unterschiedlichen Seiten (die durch qTranslate angelegt werden) entsprechend angegeben werden.
Das spart dann auch ein eigenes Template und macht den obigen Codeschnippsel überflüssig.
Getestet habe ich das nicht, würde mich also über eine Rückmeldung freuen, ob das funktioniert hat.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert