Mit der Version 4.2 hat WordPress Emojis spendiert bekommen. Die Netzgemeinde reagiert mit Unverständnis darauf – zu Recht. Die Emojis verursachen nicht nur Probleme mit vereinzelten Plugins und können Designelemente verpfuschen, sie haben auch einen negativen Einfluss auf die Ladezeit des gesamten Systems. Ich zeige dir, wie du die Emojis sowohl im Backend als auch im Frontend deaktivierst.
WordPress Emojis verursachen Performance-Probleme
Neben den eingangs erwähnten vereinzelten Problemen mit Plugins (SEO by Yoast ist wohl auch betroffen) leidet auch die Performance unter der Einführung der Emojis. Neben dem zusätzlichen Code, den dieses neue Feature einfügt, werden die Emojis on-the-fly generiert und von einer externen URL (s.w.org/) eingebunden.
Nutzt du kein Caching, wird also bei jedem Seitenaufruf geprüft, wo die Emojis eingefügt werden sollen. Ist dann auch noch der ausliefernde Server lahm, sind das gleich zwei echte Performance-Killer, die du nicht in deinem System haben möchtest.
Block Emojis als Toolbox-Modul
Während Smileys einfach über das Backend deaktiviert werden konnten, gibt es für die Emojis keine Option zum Deaktivieren. Sämtliche CSS- und JS-Ressorucen werden auf allen Seiten im Front- und Backend eingebunden. Die Grafiken selbst werden dabei auch von einem anderen Server geladen. Insgesamt leidet die Performance messbar darunter.
Mit einem kleinen Snippet als Toolbox-Modul kannst du die Emojis aber doch deaktivieren:
[php]
<?php
/*
Module Name: Block Emojis
Module URI: https://www.media-affin.de/wordpress-emojis-deaktivieren
Description: Deaktiviert Emojis im Back- und Frontend.
Author: Dominik Horn
Author URI: https://plus.google.com/+DominikHorn/posts
*/
/* Sicherheitsabfrage */
if ( !class_exists(‚Toolbox‘) ) {
die();
}
/* Ab hier kann’s los gehen */
function disable_emojis() {
remove_action( ‚wp_head‘, ‚print_emoji_detection_script‘, 7 );
remove_action( ‚admin_print_scripts‘, ‚print_emoji_detection_script‘ );
remove_action( ‚wp_print_styles‘, ‚print_emoji_styles‘ );
remove_action( ‚admin_print_styles‘, ‚print_emoji_styles‘ );
remove_filter( ‚the_content_feed‘, ‚wp_staticize_emoji‘ );
remove_filter( ‚comment_text_rss‘, ‚wp_staticize_emoji‘ );
remove_filter( ‚wp_mail‘, ‚wp_staticize_emoji_for_email‘ );
add_filter( ‚tiny_mce_plugins‘, ‚disable_emojis_tinymce‘ );
}
add_action( ‚init‘, ‚disable_emojis‘ );
function disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( ‚wpemoji‘ ) );
} else {
return array();
}
}
[/php]
Das Snippet deaktiviert alle Funktionalitäten der Emojis. Du kannst dir das Block Emojis Toolbox Modul downloaden und in den Toolbox-Ordner für Module auf deinen FTP hochladen (vorher entpacken!).
Wenn du Toolbox nicht nutzt und das Snippet lieber direkt in deine functions.php schreiben möchtest, dann findet du alle Infos bei André: Emojis in der functions.php deaktivieren. Von ihm stammt auch der Code, den ich für das Toolbox-Modul genutzt habe. Danke!
Natürlich gibt es auch schon ein fertige Plugin-Lösung, die ebenfalls diesen Code beinhaltet: Disable Emojis.
Fazit
Mit wenigen Handgriffen kannst du nun auf drei unterschiedlichen Wegen die Emojis in deiner WordPress-Installation deaktivieren. Wenn dir der Beitrag geholfen hat, würde ich mich freuen, wenn du ihn weiter empfiehlst. Bei Fragen ist wie immer Platz in den Kommentaren.
Super Anleitung, danke dafür! Es ist schon ärgerlich, dass sich die Emojis nicht per Menü über das Dashboard ausschalten lassen. Werde den Code wohl direkt in die functions.php einfügen. Ich denke das ist performancemäßig die beste Methode.
Keine Emojis und die Performance hat sich verbessert – schöner Tipp