WordPress: Deutsche Anführungszeichen ohne Plugin

8. Mai 2011 | Ca. 3 Minuten Lesedauer

Und schon wieder ein Eintrag zum Thema WordPress. Ich bin da momentan einfach drin, da bleibt das nicht aus. Heute stellte sich das Problem, dass die Anführungszeichen von WordPress standardmäßig aus Zollzeichen in englische Anführungszeichen konvertiert werden. Ich will für deutsche Blogs natürlich deutsche Anführungen, also nach der 99-66-Regel. Dafür gibt es einige Plugins, für […]

Und schon wieder ein Eintrag zum Thema WordPress.

Ich bin da momentan einfach drin, da bleibt das nicht aus.

Heute stellte sich das Problem, dass die Anführungszeichen von WordPress standardmäßig aus Zollzeichen in englische Anführungszeichen konvertiert werden.

Ich will für deutsche Blogs natürlich deutsche Anführungen, also nach der 99-66-Regel.

Dafür gibt es einige Plugins, für mein Theme wollte ich diese Funktionalität aber auch wieder ohne Zusatz-Plugin bieten, also gibt es dafür einen Hook…

Erstmal die Funktion:

function deutscheanfuehrungen($content)
{
 $content = str_replace (' “', ' „', $content);
 $content = str_replace ('”', '“', $content);
 $content = str_replace (' ‘', ' ‚', $content);
 $content = str_replace ('’', '‘', $content);

 return $content;
}

Das ist natürlich alles keine Zauberei, simples Ersetzen der einen mit den anderen HTML-Entities. Wichtig ist das vorangestellte Leerzeichen in Zeile 3 und 5. Damit kann man zwischen einem deutschen Anführungszeichen und einem englischen Abführungszeichen unterscheiden.

Zumindest, wenn man sich an die Rechtschreibung hält. Aber wer das nicht macht, für den spielen die Anführungszeichen dann auch keine große Rolle mehr… ;-D

Diese Funktion wird jetzt noch mit einem Hook an the_content gehangen, damit wird sie an allen wichtigen Stellen aufgerufen. In meinem Fall erfolgte das in der header.php und das funktioniert ganz gut.

add_filter('the_content', 'deutscheanfuehrungen');

Tja, das ist ziemlich rudimentär, aber für mich zunächst einmal ausreichend. Im Backend bleibt übrigens alles beim Alten, da die Anführungszeichen als Zollzeichen und nicht als HTML-Entities gespeichert werden.

Bei der Ausgabe geht dann wohl ein regulärer Ausdruck darüber (vermute ich zumindest) und macht daraus dann „schöne Anführungszeichen“. Mein kleiner Hook macht dann deutsche Anführungszeichen daraus.

Gut so.

Wenn euch was dazu ein- bzw. auffällt, dann freu ich mich über eure Rückmeldungen.

Nachtrag: Der Hook ist natürlich jetzt auch hier im Blog aktiv.