Отключить emojicons, представленный WP 4.2

Итак, WP 4.2 представил emojis (smileys), который в основном добавляет JS и другие нежелательные файлы на всех ваших страницах. Что-то может показаться шокирующим. Как полностью удалить все экземпляры этого?

124 голоса | спросил Christine Cooper 27 PMpMon, 27 Apr 2015 22:37:49 +030037Monday 2015, 22:37:49

7 ответов


181

Мы подключаемся к init и удаляем следующие действия:

function disable_wp_emojicons() {

  // all actions related to emojis
  remove_action( 'admin_print_styles', 'print_emoji_styles' );
  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_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
  remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
  remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );

  // filter to remove TinyMCE emojis
  add_filter( 'tiny_mce_plugins', 'disable_emojicons_tinymce' );
}
add_action( 'init', 'disable_wp_emojicons' );

Нам понадобится следующая функция фильтра, чтобы отключить emojicons TinyMCE:

function disable_emojicons_tinymce( $plugins ) {
  if ( is_array( $plugins ) ) {
    return array_diff( $plugins, array( 'wpemoji' ) );
  } else {
    return array();
  }
}

Теперь мы дышим и притворяемся, что эта функция никогда не добавлялась в ядро ​​... особенно в то время как тонны разрешенных ошибок были пока будет реализовано.

Это доступно как плагин, Отключить Emojis .

В качестве альтернативы вы можете заменить смайлы исходными версиями из предыдущих версий WordPress, используя Классические смайлики .

Update

Мы также можем удалить предварительную выборку DNS, вернув false в фильтр emoji_svg_url (спасибо @yobddigi):

add_filter( 'emoji_svg_url', '__return_false' );
ответил Christine Cooper 27 PMpMon, 27 Apr 2015 22:37:49 +030037Monday 2015, 22:37:49
27

Лучшее решение, если вы хотите отключить это: используйте плагин.

Тот же код, что и комментарии Кристины: https://wordpress.org/plugins/disable-emojis/

Тот же код, который также устанавливает, что смайлики являются более старыми: https://wordpress.org/plugins/classic-smilies/

Источник: Я, поскольку я написал этот код в первую очередь. https://plugins.trac.wordpress.org/changeset/1142480/classic-smilies

ответил Otto 29 AMpWed, 29 Apr 2015 01:02:29 +030002Wednesday 2015, 01:02:29
14

Это простой способ удалить emoji. Добавьте следующий код в свой function.php

remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' ); 
ответил Exclutips 25 J0000006Europe/Moscow 2015, 00:48:49
2

Если вы хотите, чтобы Wordpress автоматически конвертировал ваши старые школьные ASCII-смайлики в Unicode emojis (например, ;-) в

ответил Christallkeks 13 J0000006Europe/Moscow 2017, 17:48:00
0

Я пробовал несколько кодов выше, но на моем конце работают только коды.

Не забудьте выполнить резервное копирование своих функций.php перед выполнением этих кодов.

// REMOVE WP EMOJI
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' );
ответил johnhgaspay 10 J000000Monday17 2017, 07:33:11
-1

Хорошие новости, я добавил запрос функции:

Ввести новую версию WordPress WP_EMOICONS здесь https://core.trac.wordpress.org/ticket/38252

и, по-видимому, это было отмечено как дубликат https://core.trac.wordpress.org/ticket/32102 поэтому мы можем ожидать чего-то вроде

define( 'WP_EMOICONS', false );

в будущих выпусках WordPress.

ответил prosti 7 +03002016-10-07T16:04:59+03:00312016bEurope/MoscowFri, 07 Oct 2016 16:04:59 +0300 2016, 16:04:59
-2

Поскольку WordPress emoji подаются с s.w.org, и они не сжимаются, это влияет на время загрузки SVG в зависимости от того, сколько эмуляторов вы используете, и даже может вызывать предупреждения в инструменте Google PageSpeed ​​Insights. Google.

Чтобы устранить эту проблему, вы можете обслуживать emoji непосредственно со своего сайта WordPress, а не путем внешних вызовов через js.

Этого можно достичь, установив плагин Compressed Emoji , который доступен бесплатно в репозиторий плагинов WordPress.org.

Когда плагин активирован, сжатие обеспечивает экономию в диапазоне 3kb ~ 1,3kb (примерно% 60) за emoji.

Источник: WPTavern

ответил Antony Agnel 15 22016vEurope/Moscow11bEurope/MoscowTue, 15 Nov 2016 17:17:59 +0300 2016, 17:17:59

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132