Как отключить Emoji в WordPress
С выходом версии 4.2 в его состав была включена поддержка эмози в ядро водрпресса.
Эмодзи – особенный язык идеограмм и смайликов, которые широко используются в электронных сообщениях и сайтах.
С одной стороны, это очень хорошо, многие блогеры и разработчики сайтов их используют. Куда не посмотри везде одни смайлики, скоро люди вообще разучатся писать, используя только буквы. Но, с другой стороны, для работы emoji требуется подключить дополнительный JavaScript файл, а это уже минус. Минус состоит в том, что браузеру требуется создать дополнительный http запрос для загрузки этого файла, а это в свою очередь негативно влияет на скорость загрузки работы вебсайта.
Поэтому, если вы не используете emoji, и вас заботит, какие результаты выдает PageSpeed Insights для вашего сайта, то данный функционал нужно отключить.
Я как фриланс разработчик вебсайтов, зная, что заказчику не нужны эмодзи, всегда отключаю их, чтобы не отягощать работу сайта дополнительными джаваскрипт файлами.
Итак, как отключить эмодзи в вордпрессе. Можно воспользоваться двумя способами.
Первый способ, самый простой и быстрый, это воспользоваться готовым плагином для WordPress. Просто заходите в раздела Plugins на сайте WordPress.org и выбираете наиболее подходящий. Тоже самое можно сделать прямо из админки вашего вебсайта.
Второй способ, немного сложней, но если вы можете редактировать файлы вашей темы, это метод лучше, так как позволяет обойтись без плагинов. Наличие многочисленных плагинов, в свою очередь, тоже может негативно влиять на работу сайта. С одной стороны это может влиять на скорость работы, с другой – на безопасность, ведь вы не можете знать, что находится внутри плагина, нет ли там каких-либо уязвимостей.
Отключение emoji в WordPress без плагинов
Нужно в файле functions.php в папке активной темы вашего сайта, вставить код ниже.
/* Отключение эмодзи */
function disable_emoji() {
remove_action( "wp_head", "print_emoji_detection_script", 7 );
remove_action( "admin_print_scripts", "print_emoji_detection_script" );
remove_action( "admin_print_styles", "print_emoji_styles" );
remove_action( "wp_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_filter( "wp_resource_hints", "disable_emojis_remove_dns_prefetch", 10, 2 );
}
add_action( 'init', 'disable_emoji' );
Если у вас старая версия вордпресса, у вас еще есть редактор TinyMCE и вы по какой-то причине не можете обновиться до последней версии, то можно добавить и следующий код, для выключения эмодзи и в редакторе.
/* Отключение плагина tinymce emoji. */
function disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( "wpemoji" ) );
} else {
return array();
}
}
Также можно отключить и имя хоста CDN из выборки DNS.
function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
if ( "dns-prefetch" == $relation_type ) {
$emoji_svg_url = apply_filters( "emoji_svg_url", "https://s.w.org/images/core/emoji/2/svg/" );
$urls = array_diff( $urls, array( $emoji_svg_url ) );
}
return $urls;
}
Если у вас не получилось, то вы всегда можете нанять фриланс веб разработчика, вроде меня, чтобы он сделал всю работу, и у вас не было лишних забот.