Как отключить Emoji в wordPress?
C версии 4.2. в wordPress появились эти самые Emoji - смайлики, эмоции или как их там еще назвать-то. Кое где я их использую, а на некоторых сайтах они совершенно не нужны.
А там дополнительный скрипт подключается и может что-то еще. Так вот вопрос в том, как мне полностью отключить подключение всего что связано с этими Emoji - смайликами?
Спасибо!
Нужно просто установить вот этот плагин: Disable Emojis
Или можно воспользоваться следующим кодом, который нужно поместить в файл темы functions.php:
// `Disable Emojis` Plugin Version: 1.7.2 if( 'Отключаем Emojis в WordPress' ){ /** * Disable the emoji's */ 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' ); /** * Filter function used to remove the tinymce emoji plugin. * * @param array $plugins * @return array Difference betwen the two arrays */ function disable_emojis_tinymce( $plugins ) { if ( is_array( $plugins ) ) { return array_diff( $plugins, array( 'wpemoji' ) ); } return array(); } /** * Remove emoji CDN hostname from DNS prefetching hints. * * @param array $urls URLs to print for resource hints. * @param string $relation_type The relation type the URLs are printed for. * @return array Difference betwen the two arrays. */ function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) { if ( 'dns-prefetch' == $relation_type ) { // Strip out any URLs referencing the WordPress.org emoji location $emoji_svg_url_bit = 'https://s.w.org/images/core/emoji/'; foreach ( $urls as $key => $url ) { if ( strpos( $url, $emoji_svg_url_bit ) !== false ) { unset( $urls[$key] ); } } } return $urls; } }Еще стоит заметить, что с введением emoji кодировка всех строковых данных в базе данных была изменена на utf8mb4. Нужно это для поддержки таких смайликов.
Этот код и плагин Disable Emojis отключат только смайлики и не меняю кодировку. А это значит, что emoji смайлики можно по-прежнему использовать повсюду в WordPress: в записях, заголовках и т.д.
Cпасибо!
Все бы ничего, но после вставки этого кода, сайт стал грузиться на секунду дольше. Без него 453ms, а с ним 1.45s
Очень странно, точно этот код виноват? Disable Emojis плагин попробуй поставить, он простенький и то что надо.
Большое спасибо за код. Он действительно убрал эмоджи, но вот эта строка
в визуальном редакторе убирает многие кнопки (списки, линк-анлинк, тег далее, цвет текста, вставить как текст, произвольный символ, горячие клавиши).
Сразу не заметил. Несколько дней бился с установкой-переустановкой вордпресса разных версий, устанавливал плагины редакторов, копался с тинимсе и классик-эдитор.пхп - все без толку.
Пока не начала перебирать все файлы темы из бэкапа и не добрался до функшинс.пхп. Дошел до этого кода и там уже интуитивно убрал одну эту строку и все заработало как раньше.
Может пригодится мой опыт и сэкономлю массу времени, сил и нервов.
Установи плагин Clearfy Pro, помимо удаления эмоджи, еще чистит head от всякого мусора, лишним не будет. Пользуюсь им давно, пока не подводил