Anpassen von WordPress Strings mit Hilfe der gettext Funktion

Hin und wieder kommt es vor, dass man auf einer WordPress Site Strings anpassen möchte, die direkt aus dem Core oder dem Theme kommen. Das sind häufig Schaltflächen oder in unserem Fall einfach die <h3> über den Kommentaren.

Die Überschrift vor der Änderung

 

Dies ist relativ problemlos möglich für alle Strings, die so im Code hinterlegt sind, dass sie auch übersetzbar sind. In unserem Fall findet sich der ursprüngliche String „Leave a Reply“ in der comment-template.php:

Unser String in der comment-template.php

 

Es ist erkennbar, dass der String innserhalb einer __() Funktion steht, wodurch er übersetzbar gemacht wird. Jeder String innerhalb einer solchen Funktion kann mit Hilfe von gettext übersetzt werden. Die Übersetzungen selbst befinden sich innerhalb der .mo und .po Dateien (z.B. de_CH.mo) im Verzeichnis /wp-content/languages/.  Die Datei de_CH.po enthält alle übersetzten Strings in normaler Textform und wird zu einer binären .mo Datei kompiliert. Erst diese Datei wird von gettext genutzt. Falls man allgemein Übersetzungen ändern oder hinzufügen möchte, muss die entsprechende .po Datei bearbeitet und anschliessend kompiliert werden. Hierfür gibt es Tools wie Poedit.

Tatsächlich sparen wir uns in unserem Fall diesen Weg und greifen einfach direkt in die gettext Funktion ein. In der functions.php können wir folgende Funktion hinzufügen:

/* Aenderung des Titels ueber den Kommentaren */
function change_translate_text( $translated_text ) {
 if ( $translated_text == 'Hinterlassen Sie eine Antwort' ) {
 $translated_text = 'Sie haben Fragen oder Anregungen? Möchten etwas korrigieren oder genauer erklärt haben, oder Ihre eigene Erfahrung zu dem Thema einbringen? Hinterlassen Sie einen Kommentar!';
 }
 return $translated_text;
}
add_filter( 'gettext', 'change_translate_text', 20 );

Der übersetzte String „Hinterlassen Sie eine Antwort“ wird aufgesucht und durch unseren neuen String ersetzt. Anschliessend wird dieser via gettext ausgegeben. Das Ergebnis sehen Sie direkt unterhalb dieses Artikels. Falls Sie eine andere Lösung für dieses Problem nutzen, oder weitere Tipps zu diesem Thema haben, lassen Sie uns doch einen Kommentar da. Wir freuen uns über jede Interaktion!

Schreiben Sie einen Kommentar

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