Отключаем Emoji WordPress 4.2+


Статья обновлена 2015.10.02
Emoji WordPressС выходом обновления WordPress 4.2, в нем появилась поддержка смайликов Emoji. Но для большинства владельцев сайтов поддержка Emoji WordPress — бесполезная функция, но при этом дающая хоть и небольшую, но нагрузку на сайт. Так как небольшой JawaScript для работы смайлов подгружается на каждой странице сайта.

Так вот, в этой статье будет рассмотрено два варианта отключения смайликов Emoji WordPress.
Первый вариант — использование плагина, написанного специально для этого случая и второй вариант — отключение Emoji WordPress напрямую в файле functions.php, кодом, взятым из того-же плагина.

На картинке показано, что в шаблоне смайлы и Emoji подключаются в header. После отключения, этот отрывок кода должен исчезнуть, если посмотреть исходный код страницы. Картинку можно открыть в новом окне в полном размере.

Что лучше использовать это решать вам, кому как удобней, но скажу что разницы между отключением Emoji WordPress плагином или кодом практически никакой. Плагин всего-лишь подключает свой небольшой файлик.

Отключение Emoji WordPress с использованием плагина Disable Emojis

Плагин Disable Emojis не имеет настроек и для деактивации Emoji достаточно установить его стандартным способом из депозитария WordPress.

К тому-же он очень легкий и совсем не нагружает сайт. Кто не может вносить правки в файлы, тому Disable Emojis вполне себе и подойдет.

Вот ссылка на Disable Emojis — плагин для отключения Emoji WordPress

Отключение Emoji WordPress без плагина

Собственно говоря, как я и упомянул раньше, этот код — это и есть все содержимое плагинаDisable Emojis. Только он теперь будет подключаться напрямую, через файл functions.php.

Использование кода вместо плагина не создает лишних запросов к серверу, в данном случае на один меньше.

Что-бы отключить поддержку Emoji WordPress, нужно открыть файл functions.php и добавить в него нижеприведенный код:

/**
* 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_action( 'init', 'disable_emojis' );

Этим кодом, как видно, отключаются все скрипты и стили Emoji WordPress.

А вот второй хак этого плагина, для тех, кто юзает текстовый редактор Tinymce, но не пользуется Emoji WordPress:

/**
* 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' ) );
} else {
return array();
}
}

Вот таким способом можно избавиться от еще одного ненужного, на мой взгляд, мусора. Хотя для кого-то поддержка Emoji на сайте и нужна.


Похожие по Тегам статьи