Hier eine kurze Beschreibung um bei WordPress mit Hilfe von qTranslate „eigene Felder“ (custom fields) zu übersetzen.
Der Trick ist das man zunächst die „eigenen Felder“ dupliziert. Anschließend erweitert man das Template um ein Language Switch auf php Level
Schritt 1: Eigene Feld duplizieren
Im Feld „eigene Felder“ die Felder die auch in anderen Sprachen verfügbar sein sollen anwählen und duplizieren. Ich habe diese einfach „(english)“ am Ende benannt.
Bei Kopieren wurde ein „(copy)“ erzeugt und das lässt sich schön einfach durch „(english)“ ersetzen
Schritt 2: Template anpassen
Hier der Code für eine einfache Weiche für eine statische Ausgabe
<?php if(qtrans_getLanguage() == „de“) : ?>
Schnelleinstieg
<?php endif ?>
<?php if(qtrans_getLanguage() == „en“) : ?>
Shortcut
<?php endif ?>
Hier der Code um eigene Felder entsprechend je nach Sprache auszugeben. Da in meinem Template mehre „eigene Felder“ für einen Bereich waren habe ich zunächst eine Abfrage eingebaut um alles in einem Rutsch zu machen
if(qtrans_getLanguage() == „de“){
$page_additional_title = „page_additional_title„;// hier entsprechend weitere Variablen
[…]
}
else if(qtrans_getLanguage() == „en“) {
$page_additional_title = „page_additional_title_(english)„;// hier entsprechend weitere Variablen
[…]
}
?>
Hier dann die eigentliche Ausgabe.
<?php
if(get_field($page_additional_title)) {
?>
<h2><?php echo get_field($page_additional_title); ?></h2>
<?php}
?>
Wenn man nur ein eigenes Feld hat kann man die obere und untere auch einfach kombinieren
Man hätte dann
if(qtrans_getLanguage() == „de“){
echo get_field(page_additional_title);
}
else if(qtrans_getLanguage() == „en“) {
echo get_field(page_additional_title_(english));
}
?>
„page_additional_title_“ bzw. „page_additional_title_(english)“ ist der Name des „eigenen Feldes“. Dieses muss identisch sein mit der Bezeichnung im Admin.
Mehr zu WordPress von Konvis.de gibt es hier.
Sie benötigen Hilfe bei der Umsetzung von Mehrsprachigkeit von WordPress?
Schicke Sie mir gerne eine Mail (martin.steudter@konvis.de) oder rufen Sie mich an.
Mehr über WordPress von KonVis finden Sie hier.
Hallo Martin,
ich würde generell nicht auf qtranslate mehr setzen. Das Plugin wird schon seit längerem nicht mehr weiterentwickelt und die Lösung ist aus Performancegründen und weiteren Gründen auch nicht optimal.
Stattdessen würde ich dir eher https://wordpress.org/plugins/multilingual-press/
Dort erscheint bald auch eine neue Version mit allen Pro Features, das Plugin wird komplett frei sein. Wenn du Interesse hast, kannst du auch gerne als Betatester die neue Version ausprobieren.
Schönen Sonntag noch!
Alex
Hallo Alex,
danke für dein Kommentar.
Die aktuellste WP Version scheint auch nicht mehr kompatibel mit qtranslate zu sein und qTranslate ist für aktuelle Projekte eh keine Option mehr 😉
Wenn ich es richtig sehe gibt es dort generell nur wenig Auswahl bei guten WP-Plugins für Mehrsprachigkeit. Werden uns Multilingual beim nächsten Projekt wo wir sowas brauchen auf jeden Fall näher anschauen.
Grüße
Martin