Ich rege mich ja schon etwas länger über WordPress und den Zeichentausch auf. Darüber habe ich auch schon mehrmals geschrieben.
Nun habe ich mir dahingehend etwas ausgedacht. Ich habe einfach eine eigene Funktion geschrieben, welche die ersetzten Zeichen wieder zurück tauscht. Damit es keine Sicherheitsprobleme gibt, wird nur der eigentliche Content, also der Artikel/Post Text verändert.
Das ganze funktioniert ohne Plugins und nutzt den WordPress eigenen add_filter().
Wie wirds gemacht?
Gehe in dein Template unter wp-content/themes/ und öffne deinen Theme Ordner. Darin sollte sich eine functions.php befinden. Wenn nicht, erstelle diese bitte.
Darin kannst du folgendes hineinkopieren:
<?php function replace_signs($content){ $aRep1 = array('&#8216;', '&#8217;'); $aRep2 = array('&#8221;', '&#8243;'); $content = str_replace($aRep1, "'", $content); $content = str_replace($aRep2, '"', $content); return $content; } add_filter('the_content', 'replace_signs'); add_filter('the_excerpt', 'replace_signs'); ?> |
Erläuterung des Codes
Wir haben eine Funktion “replace_signs” erstellt. Die beiden Arrays beinhalten die HTML-Zeichen, welche WordPress erstellt.
str_replace ersetzt dann die Zeichen in den Arrays. Als Ausgabe wird der ersetzte Content zurückgegeben.
add_filter() ist eine WordPress eigene Funktion. Im ersten Teil geben wir der Funktion die Anweisung, in welchem Bereich etwas verändert werden soll.
- the_content – ersetzt den Text, welcher in der single.php ausgegeben wird
- the_excerpt – ersetzt den Text-Auszug, welcher Beispielsweise in Kategorien oder der Startseite angezeigt werden.
Der 2. Parameter den wir dem add_filter() übergeben, beinhaltet den Namen der Funktion, welche ausgeführt werden soll. Bei uns natürlich die “replace_signs”.
Der Name von Funktionen ist natürlich variabel, dürfen aber nicht schon besetzt sein. Außerdem sind nur Buchstaben, Zahlen und Unterstriche erlaubt. Zahlen oder Unterstriche dürfen nicht an Erster Stelle erscheinen. Ein Unterstrich nicht am Ende.
Nun kann man Zeichen oder auch Wörter in WordPress ganz einfach ersetzen.
Hat dir diese Funktion geholfen?
Hinterlasse mir dein Feedback und ggf. wünsche oder Ideen.
loading...

