Отключить Emoji в WordPress с плагином и БЕЗ

Отключить Emoji в WordPress с плагином и БЕЗ

Заглянув в исходный код страницы сайта на WordPress, вы обнаружите CSS и JavaScript код смайлов Эмодзи (emoji). Их изображения находятся на сервере WordPress.org, реализованы смайлы с помощью библиотеки Twemoji от Twitter. Библиотека включена в дистрибутив начиная с версии 4.2

Для многих сайтов найдутся причины отключить их. Обращение к внешнему ресурсу, расположение кода в хеадере страницы, дополнительные стили, скрипты, что оказывает негативное влияние на скорость загрузки страницы. Подобные смайлы, возможно украсят обсуждение статьи или контент развлекательного ресурса, но это требуется далеко не каждому сайту.

Мне известны два способа отключить поддержку Эмодзи: плагином и добавлением нескольких строк кода в файл functions.php используемой темы.

 

Плагин Disable Emojis

Плагин отключающий смайлы Disable Emojis не имеет настроек, устанавливаете, активируете и проверяете. Если, до активации плагина между тегов head в исходном коде страницы находился подобный код:

<script type="text/javascript">
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/72x72\/","ext":".png","source":{"concatemoji":"http:\/\/webreason.ru\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.5.2"}};
!function(a,b,c){function d(a){var c,d,e,f=b.createElement("canvas"),g=f.getContext&&f.getContext("2d"),h=String.fromCharCode;if(!g||!g.fillText)return!1;switch(g.textBaseline="top",g.font="600 32px Arial",a){case"flag":return g.fillText(h(55356,56806,55356,56826),0,0),f.toDataURL().length>3e3;case"diversity":return g.fillText(h(55356,57221),0,0),c=g.getImageData(16,16,1,1).data,d=c[0]+","+c[1]+","+c[2]+","+c[3],g.fillText(h(55356,57221,55356,57343),0,0),c=g.getImageData(16,16,1,1).data,e=c[0]+","+c[1]+","+c[2]+","+c[3],d!==e;case"simple":return g.fillText(h(55357,56835),0,0),0!==g.getImageData(16,16,1,1).data[0];case"unicode8":return g.fillText(h(55356,57135),0,0),0!==g.getImageData(16,16,1,1).data[0]}return!1}function e(a){var c=b.createElement("script");c.src=a,c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g,h,i;for(i=Array("simple","flag","unicode8","diversity"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.supports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"flag"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);
</script>

<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>

 

то, после его активации он отсутствует.

Снипет отменяющий вывод Emoji

Следующий вариант, разместить в файле functions.php активной темы, четыре строчки кода:

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' );

которые приведут к тому же результату.

Записи с такими же тегами:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *