Начиная с Wordpress 4.2 в ядро добавленная поддержка Emoji для всех браузеров. Это введение основано на расширении кодировки UTF-8. Необходимость использования смайликов для большинства сайтов основанных на Wordpress отсутствует, к тому же это создает дополнительную нагрузку при открытии сайта.
Обработчик Emoji загружается при открытии любой страницы сайта и занимает не более 40 Кб трафика, также подключаются дополнительные стили css. Ни смотря на столь малый объем это создает дополнительную задержку при открытии страниц.
Отключить поддержку Emoji можно двумя способами с помощь плагина и добавления кода в файл функции темы.
1. Отключение Emoji при помощи плагина.
Данный способ самый простой и не требует изменение программного кода.
Для управлением Emoji устанавливаем и активируем плагин Disable Emojis (GDPR friendly) от автора Ryan Hellyer, страница плагина https://wordpress.org/plugins/disable-emojis/
Emoji будут отключены сразу же после активации плагина.
2. Отключение при помощи добавление кода.
Для этого открываем файл с функциями темы и добавляем следующий код.
/*
*
* Отключение emoje
*/
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_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 );
}
add_action( 'init', 'disable_emojis' );
/**
* Отключаем в визуальном редакторе
*/
function disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}
/**
* Удаляем подключение ресурсов для загрузки emoji
*
*/
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;
}
Данный код является собирательным из нескольких источников.
Разницы в производительности сайта в зависимости от способа отключения emoji я не заметил, исходя из этого рекомендую использовать плагин Disable Emojis
Использованные материалы:
https://kinsta.com/knowledgebase/disable-emojis-wordpress/
https://ru.wordpress.org/support/topic/%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C-wp-emoji/
Комментариев нет:
Отправить комментарий