Отключение Emoji
Одним из нововведений WordPress версии 4.2 стала поддержка Emoji. Emoji это спец. символы в юникоде, которые ОС или браузер отображает в виде графических картинок, то есть, по сути, это обычные смайлики. Если ваша ОС или браузер не понимает эти спец. символы, то выводиться ничего не будет. Чтобы такого не происходило, WordPress загружает специальный js-скрипт, который проверяет поддержку вашим браузером Emoji и если такой поддержки не будет найдено, то WordPress заменит спец. символы Emoji на графические картинки, загружаемые с сайта http://s.w.org. Однако, если вы не планируете использовать Emoji на вашем сайте, то загрузка лишнего скрипта и лишнего css-кода вам точно не нужна, а поэтому стоит эту загрузку отключить.
Чтобы было понятнее, о чем идет речь - вот этот код вы можете найти в исходном коде любой вашей страницы сайта на WordPress 4.2:
Код не слишком большой, но все равно он будет лишним, если вы не собираетесь использовать Emoji на вашем сайте. Лично я считаю, что использование Emoji на WordPress сайте совершенно неуместно.
Потому что Emoji это смайлики мобильных систем и тащить их туда, где их поддержка изначально не предусмотрена не слишком хорошая идея, так как полной поддержки добиться все равно не удастся. Вот, например, попробуйте использовать Emoji в заголовке любой вашей записи:
В браузере на Windows 7 будет загружена картинка смайлика с сайта http://s.w.org, так как скрипт определит, что ОС не поддерживает Emoji. Однако, попробуйте теперь открыть вашу запись в браузере и посмотрите, что будет выведено на вкладке браузера:
Это лишь один из примеров того, что полной поддержки Emoji на настольных системах добиться будет невозможно. Говорят, что Emoji можно будет использовать в ярлыках записей – даже думать не хочу о том, как открывать такие ссылки на системах, где нет родной поддержки Emoji.
Emoji это смайлики чисто мобильных устройств. Разработчики добавили поддержку эти смайлов в движке, но даже и не подумали о том, чтобы их можно было напрямую добавлять в записи через какую-нибудь кнопку в визуальном редакторе. Нет – будьте добры использовать специальные возможности вашей операционной системы. А у кого ОС не поддерживает Emoji, тот должен залезать на сайты вроде http://getemoji.com/ и уже там копировать нужные смайлы, чтобы вставить их в свою запись.
Удобно? Тысячу раз нет. Поэтому лично я у себя отключил поддержку Emoji и ни капли об этом не жалею. Если вы тоже хотите отключить поддержу Emoji, то вам надо в файл functions.php вашей темы добавить код:
//отключение Emoji start remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); //отключение Emoji end |
Этот код отключит поддержку Emoji только на внешней стороне сайта – в админке сайта скрипт поддержки Emoji все равно будет грузиться. Если же вам и в админке сайта не нужны эти смайлы, то используйте такой код:
//полное отключение Emoji start remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); //полное отключение Emoji end |
Вот честно, я совершенно не понимаю, зачем разработчики движка связались с чисто мобильной фишкой. Ведь даже в кодексе, на странице описания поддержки Emoji в WordPress эти самые Emoji не выводятся:
Забавно, конечно, видеть, что в кодексе WordPress нет поддержки Emoji, которую встроили в сам WordPress. С моей точки зрения, разработчики движка слишком увлеклись поддержкой мобильных устройств – включать в движок чисто мобильные фишки это уже явный перебор. Впрочем, возможно, что это задел на будущее – ведь вряд ли через 10 лет кто-то еще будет сидеть на ОС, не поддерживающих Emoji (Windows 7 и ниже).
Понравился пост? Подпишись на обновления по RSS или Twitter !
#1,
Самое плохое в данной ситуации - это то, что разработчики не дали возможность элементарно отключить эти Emoji в настройках админки, в результате приходится добавлять лишний код в исходники шаблона.
Я считаю, эти смайлы должны быть опциональными и отключены по умолчанию, а кому надо пусть тот и включает.
#2,
Flector, спасибо за дельный совет - отключил эмоджики. Ибо по здравому размышлению эти украшения сайту действительно как собаке пятая нога. ) Да и некрасивые они какие-то )) - если уж говорить об эмоциональной составляющей, то лучше колобков от Aiwan до сих пор ничего не придумано. И то не везде и не всегда их использование оправдано...
#3,
Я тоже отключил этот детский сад.))) Да и к тому же после обновления были проблемы со старыми смайлами. Поэтому отключил. Но код не вставлял (неахота лазить было), а просто активировал плагин.
На эту тему тоже недавно написал у себя. Кому надо можете почитать у меня на блоге, может пригодиться:
http://alpha-byte.ru/wordpresso/wordpress/emoji
Кстати, чтобы на семерке не было проблем с отображением, можно попробовать установить специальные расширения для браузера. Я когда установил, то у меня сразу квадраты исчезли и все нормально стало отображаться.
#4,
это костыли.
а пользоваться костылями для украшательств это неправильно с моей точки зрения.
смайлы использует очень малое количество людей - это видно по популярности плагинов смайликов. ну не нужны они подавляющему числу людей. но их насильно всобачили в движок, так как это популярная фишка мобильных устройств.
и самое плохое, как сказал Dimox, нет никаких опций отключения в настройках движка. разработчики вообще от версии к версии упрощают настройку, пряча от пользователей якобы ненужные им настройки. сменить папку uploads? а хрена - нет больше такой настройки. отключить удаленную публикацию? фига - настройку спрятали, удаленная публикация работает по умолчанию всегда. и так с каждой версией - движок все больше и больше подгоняют под домохозяек и это печально.
#5,
Flector, присоединяйся к разработчикам движка. Покажи им всем, как надо обновления выпускать!))
#6,
а смысл?
так сотни разработчиков и большинство решений принимается вовсе не демократическим путем.
#7,
Полное отключение, все таки, так :)
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' );
#8,
а зачем полностью то отключать?
не мешается лишний скрипт и стили - ну и ладно.
а то что там в RSS лентах или в письмах - это уже побоку.
#9,
А разве не проще удалить сами файлы с яваскриптами Emoji например: WP-emoji.js тем более что пути расположения этих файлов можно определить в исходном коде??
#10,
не проще.
так как они все равно будут вызываться, только с ошибкой.
да и вы собрались удалять скрипты при каждом апдейте движка?
#11,
Спасибо за оперативный ответ. Действительно, про апдейты Вордпресс не подумал. Воспользовался Вашим кодом. Помогло.
#12,
Спасибо вам за помощь. все убрал.
#13,
Код рабочий, быстро все убралось, спасибо!
#14,
Благодарю, отличная чёткая статья. На дочернем сайте на wp прекрасно работает
#15,
Так все таки, как лучше сделать, отключить кодом как описано или же поставить плагин отключающий?Стоит уже 31 активный плагин.
#16,
Tinnitus Therapy London
#17,
All of the most recent movies, web series, and songs are available for download and viewing on the Tamilplay website. According to the Indian Penal Code,
the website is unlawful since it hosts pirated content.
Tamilplay