Während ich noch an der Umstellung auf Pelican feile (aktuelle Ausrede: es gibt kein brauchbares Kommentarsystem für statische Seiten, das auch ohne JavaScript funktioniert), habe ich das immer noch existente WordPress auf Version 4.2 aktualisiert.
WordPress 4.2 kann jetzt auch Emojis darstellen, eine Funktion, die hoffentlich niemand, der noch alle Tassen im Schrank hat, ernsthaft vermisst hat. Man könnte ja darauf verzichten, sie einzusetzen, sagt ihr? Ja, das mag sein, aber WordPress bringt im Code einige Änderungen hierfür mit sich, die hier unangenehme Konsequenzen haben.
Wie ihr vielleicht schon bemerkt hat, kommen hier seit geraumer Zeit nicht mehr die WordPress-Standardsmileys zum Einsatz, mithilfe von wp-Monalisa habe ich sie durch grüne animierte und etwas größere Alternativen ersetzt. Darauf ist WordPress aber nicht vorbereitet.
In der Datei /wp-includes/formatting.php findet sich um Zeile 4.100 (sic!) herum inzwischen folgender Code:
<style type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style>
Das sorgt dafür, dass – wegen des !important nicht einmal überschreibbar – alle Smileys, auch die eventuell angepassten, auf eine Breite und Höhe von „1 em“ (also die Größe eines Zeichens in der aktuellen Schriftart) gestaucht werden, damit sie nicht zu groß sind. Nutzt man die Standard-WordPress-Smileys, so mag’s niemanden stören, in meinem Fall allerdings bin ich milde empört. Aber natürlich muss diese Smartphone-Emoji-Scheiße in den Kerncode meines Blogsystems eingebaut werden, damit ich sie auch habe, wenn mir mal jemand so kräftig eine Flasche über den Schädel zieht, dass ich plötzlich Lust dazu bekomme, sie zu nutzen. Die Mozillitis fordert immer weitere Opfer.
Eine Lösung bis zum nächsten update mag es sein, die Zeile img.wp-smiley, auszukommentieren oder zu löschen:
<style type="text/css"> /*img.wp-smiley,*/ img.emoji { display: inline !important; border: none !important; /* ... */ } </style>
Man könnte aber auch einfach aufhören, WordPress zu benutzen.
Nachtrag vom 26. April: Man kann diesen Emoji-Unsinn auch per functions.php deaktivieren:
remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_print_styles', 'print_emoji_styles');
Oh merde, ich kenne ein paar Leute, die jetzt frohlocken werden. Die haben aber auch ganz schön Matsch am Paddel.
Um Himmels Willen. Kennst du die freiwillig oder lieber aus Versehen?
Optional kann man aber auch den ganzen Smiley-Scheiß komplett in den WP-Einstellungen abschalten, oder geht das inzwischen nicht mehr? Grafiken sind eh völlig überbewertet.
Doch, das würde auch gehen, aber wenn man sowieso keine Smileys verwendet, ist die Änderung doch egal.
Watnscheiss.
Allerdings
Nöö. Du kannst das im Theme-css mit important überschreiben. Oder – einfacher – die hundertste Crap-Blockierregel in die functions.php des Themes packen. Oder die Dau-kompatible Variante: es gibt ein Plugin
Ich hab’s ausprobiert: Nein, das System-CSS hat höhere Priorität. Ist wohl „inline“.
Nöö, ist nicht inline. Bei dir is das Problem, dass Du DEIN CSS (Zeile
vor dem Emoji-quatsch (Zeile 52) einbindest. Klar, dass das das wieder überschreibt, das muss anders rum. Geht wie gesagt auch schöner über die funktions.php.
Zeile 8 Klammer zu … scheiss-smilies
Öhm, was? Welche Datei is’n das?
Welche welche Datei? Die wo das CSS aufgerufen wird? Is gewöhnlich die header.php im Themeverzeichnis. Solltest Du die functions.php suchen, die liegt auch dort…
Nee, ich meinte: wat? Also die meisten Sachen im Header kommen ja von WordPress.
wat wat? da muss doch irgendwo der Aufruf für das Theme-CSS stehen, den einfach nach unten schieben. Is dein jabber kaputt?
Nee, ich war nur nicht online.
Software Features, die die Welt nicht braucht.
Hm… nee, also wenn ich deine remove-Regeln in die functions.php meines Themes aufnehme, werden die Smileys trotzdem verzerrt dargestellt
mit dem Plugin geht das besser
Hm, was macht das Plugin denn anders?
na, gucks dir an:
https://wordpress.org/plugins/classic-smilies/
irgendwie machts noch mehr. Der entscheidende Vorteil ist aber, dass es das Array der Ersetzungen selbst definiert. Ich habe ha ganz viele „neue“ Emoticons dazu gebastelt, und musste immer die „originale“ Functions.php vom WP-core anfassen nach jedem Update. Das ist jetzt endlich vorbei dank dieses Plugins.
Ach so, quasi WP-MonaLisa mit weniger Auswahl?