Ich bin soeben mal wieder auf ein Problem gestoßen, welches mir irgendwann schon einmal über den Weg gelaufen war. Es ist nicht unbedingt ein Bug, eher ein gewolltes Verhalten. Jedoch kann das in manchen Fällen störend sein bzw. verwirren: Manche WordPress-Installationen machen aus einem freistehenden Minus (Bindestrich oder als Gedankenstrich eingesetz) zwei Striche. Irgendwie ist das ja blöde. Also aus ” – ” wurde ” – ” (genauer gesagt –). Das sieht dann je nach WordPress-Theme mal aus wie ein Gedankenstrich oder auch mal wie zwei Bindestriche. Auf diesem Blog sieht es aus wie ein Gedankenstrich, also ist (für meinen Geschmack) alles in Ordnung. Wenn der gewollte Gedankenstrich aber nun zu zwei Bindestrichen wird, habe ich hier eine kurze Beschreibung eines “dirty hacks” um WordPress dieses Verhalten abzugewöhnen:
Um das “Problem” zu beheben muss die Datei formatting.php im WordPress-Verzeichnis wp-includes angepasst werden.
Man muss (bei Version 3.0.0) in Zeile 56 und 57 die Regel zu Ersetzung anpassen.
Aus
1 2 | $static_characters = array_merge(array('---', ' -- ', '--', ' - ', 'xn–', '...', '``', '\'\'', ' (tm)'), $cockney); $static_replacements = array_merge(array('—', ' — ', '–', ' – ', 'xn--', '…', $opening_quote, $closing_quote, ' ™'), $cockneyreplace); |
mach
1 2 | $static_characters = array_merge(array('---', ' -- ', '--', 'xn–', '...', '``', '\'\'', ' (tm)'), $cockney); $static_replacements = array_merge(array('—', ' — ', '–', 'xn--', '…', $opening_quote, $closing_quote, ' ™'), $cockneyreplace); |
Was verändert man damit? Man entfernt einfach die Ersetzungsregel für ein freistehendes Minus (bzw. Bindestrich). Hier können nach Belieben natürlich auch noch die anderen Ersetzungsregeln angepasst werden.
Zusätlich ist mir aufgefallen, dass es ganz am Ende der formatting.php eine Fuktion gibt, welche einem immer die korrekte Schreibweise von “WordPress” aufzwingt. Schreibt man beispielsweise “Wordpress”, wird dies durch “WordPress” ersetzt. Jedoch greift diese Funktion nur, wenn man wirklich “Wordpress” mit einem kleinen P schreibt. Kuriose Schreibweisen wie bspw. “WoRdPrEsS” sind ohne weiteres Möglich und werden nicht “abgefangen”
Um die Codestelle schneller zu finden habe ich kurz gegoogelt und bin auf einen Artikel linuxcrew.com gestoßen, was ich hier natürlich nicht verschweigen möchte.