Vor Version 4.2 gab es in WordPress lediglich die Option, Smilies/Emoticons wie :-) in Form von Bildern anzuzeigen. Diese sog. "Bildsmileys" wurden mit WordPress 4.2 durch Emojis ersetzt. WordPress setzt hier auf eine Lösung mit zusätzlichen JavaScript-Bibliotheken (u.a. wp-emoji-release.min.js), um überall die Emojis anzeigen zu können - auch auf Betriebssystemen bzw. in Browsern, in denen sie nicht nativ unterstützt werden.

Diese Lösung wirkt sich zum einen auf die Performance einer WordPress-Instanz aus, zum anderen werden bei fehlender nativer Unterstützung die Emojis als Grafiken von WordPress-Servern geladen - ein eventuelles Datenschutzproblem, da WordPress somit zumindest die IP-Adresse des Besuchers erfährt. Entsprechend gibt es auch eine Vielzahl an Plugins, die die Emoji-Unterstützung von WordPress deaktivieren.

Werbung

Werbeblocker aktiv?

Vermutlich aufgrund eines Werbeblockers kann an dieser Stelle leider keine Werbung angezeigt werden. Als Blog ist diese Website jedoch darauf angewiesen, um diverse Kosten abdecken zu können. Vielleicht möchtest du Servaholics ja in deinem Werbeblocker als Ausnahme hinzufügen und so unterstützen? 🙂

Wer zwar Emojis nutzen, hierfür aber nur auf die native Unterstützung durch Betriebssysteme und Browser seiner Besucher ohne JavaScript und externe Inhalte setzen möchte, der kann dies mit folgendem Codeschnipsel, den man entweder als eigenes Plugin oder als Teil der functions.php-Datei des aktiven Themes einbinden kann, erreichen:

  1. function replace_smilies_with_emojis($content) {
  2.     $smilieToEmojiMap = array(
  3. 		':mrgreen:' => '😁',
  4. 		':neutral:' => '😐',
  5. 		':twisted:' => '😈',
  6. 		':arrow:' => '➡',
  7. 		':shock:' => '😦',
  8. 		':smile:' => '🙂',
  9. 		':???:' => '😕',
  10. 		':cool:' => '😎',
  11. 		':evil:' => '👿',
  12. 		':grin:' => '😁',
  13. 		':idea:' => '💡',
  14. 		':oops:' => '😳',
  15. 		':razz:' => '😛',
  16. 		':roll:' => '🙄',
  17. 		':wink:' => '😉',
  18. 		':cry:' => '😢',
  19. 		':eek:' => '😯',
  20. 		':lol:' => '🤣',
  21. 		':mad:' => '😠',
  22. 		':sad:' => '☹',
  23. 		'8-)' => '😎',
  24. 		'8-O' => '😦',
  25. 		':-(' => '☹',
  26. 		':-)' => '🙂',
  27. 		':-?' => '😕',
  28. 		':-D' => '😁',
  29. 		':-P' => '😛',
  30. 		':-o' => '😯',
  31. 		':-x' => '😠',
  32. 		':-|' => '😐',
  33. 		';-)' => '😉',
  34. 		'8)' => '😎',
  35. 		'8O' => '😦',
  36. 		':(' => '☹',
  37. 		':)' => '🙂',
  38. 		':?' => '😕',
  39. 		':D' => '😁',
  40. 		':P' => '😛',
  41. 		':o' => '😯',
  42. 		':x' => '😠',
  43. 		':|' => '😐',
  44. 		';)' => '😉',
  45. 		':!:' => '❗',
  46. 		':?:' => '❓'
  47. 	);
  48.  
  49.     foreach ($smilieToEmojiMap as $smilie => $emoji) {
  50.         $content  = str_replace(' '.$smilie, ' '.$emoji, $content);
  51.     }
  52.  
  53.     return $content;
  54. }
  55.  
  56. // If the conversion of smilies in form of texts into emoticons/emojis is enabled, disable it
  57. /*
  58. Note: This part can be removed if you are sure that the conversion
  59. stays disabled, e.g. if you are the only admin
  60. */
  61. if (get_option('use_smilies') != 0) {
  62. 	update_option('use_smilies', 0);
  63. }
  64.  
  65. // Convert smilies both in post/page contents and comments
  66. add_filter('the_content', 'replace_smilies_with_emojis');
  67. /* 
  68. add_filter('get_the_content', 'replace_smilies_with_emojis'); won't work
  69. as get_the_content() does not support filters, so use 
  70. $content = apply_filters('the_content', get_the_content()); 
  71. instead of $content = get_the_content(); when not using the_content().
  72. */
  73. add_filter('comment_text', 'replace_smilies_with_emojis');
  74. add_filter('get_comment_text', 'replace_smilies_with_emojis');

Zur Erklärung: Zu Beginn findet man eine Zuordnung vom klassischem Text-Smiley zum jeweils gewünschten Emoji (als sog. HTML-Entities) sowie die Umwandlung in den Texten von Beiträgen und Seiten sowie Kommentaren, die ganz unten "durchgeführt" wird. Voraussetzung ist, dass sich vor dem Smiley ein Leerzeichen befindet. Diese Einschränkung sollte in der Regel nicht stören, jedoch einige ungewollte Umwandlungen insbesondere bei den Smilies :) und :( verhindern.

Dazwischen wird noch sichergestellt, dass die Option "Emoticons wie :-) und :-P in Grafiken umwandeln.", die man im Admin-Bereich von WordPress unter "Einstellungen" > "Schreiben" > "Formatierung" findet, deaktiviert ist - dieser Teil kann entfernt werden, sofern sichergestellt ist, dass die Option deaktiviert ist und bleibt.

Andere Beiträge, die auf diesen Beitrag verlinken

Deine Meinung zu diesem Artikel?