Як вимкнути Emoji у WordPress
З виходом версії 4.2 до його складу було включено підтримку емозі в ядро водрпресса.
Емодзі – особлива мова ідеограм та смайликів, які широко використовуються в електронних повідомленнях та сайтах.
З одного боку, це дуже добре, багато блогерів та розробників сайтів їх використовують. Куди не подивися скрізь одні смайлики, скоро люди взагалі розучаться писати, використовуючи лише літери. Але, з іншого боку, для роботи emoji потрібно підключити додатковий JavaScript файл, а це мінус. Мінус полягає в тому, що браузеру потрібно створити додатковий http запит для завантаження цього файлу, а це негативно впливає на швидкість завантаження роботи вебсайту.
Тому, якщо ви не використовуєте emoji, і вас турбує, які результати видає PageSpeed Insights для вашого сайту, цей функціонал потрібно відключити.
Я як фріланс розробник вебсайтів, знаючи, що замовнику не потрібні емодзі, завжди відключаю їх, щоб не обтяжувати роботу сайту додатковими джаваскриптами файлами.
Отже, як відключити емодзі у вордпресі. Можна скористатися двома способами.
Перший спосіб, найпростіший і найшвидший, це скористатися готовим плагіном для WordPress. Просто заходьте в розділ Plugins на сайті WordPress.org і вибираєте найбільш підходящий. Те саме можна зробити прямо з адмінки вашого сайту.
Другий спосіб трохи складніше, але якщо ви можете редагувати файли вашої теми, це метод краще, так як дозволяє обійтися без плагінів. Наявність численних плагінів, у свою чергу, також може негативно впливати на роботу сайту. З одного боку це може впливати на швидкість роботи, з іншого – на безпеку, адже ви не можете знати, що знаходиться всередині плагіна, чи немає там уразливостей.
Відключення emoji у WordPress без плагінів
Потрібно у файлі functions.php у папці активної теми вашого сайту, вставити код нижче.
/* Відключення емодзі */
function disable_emoji() {
remove_action( "wp_head", "print_emoji_detection_script", 7 );
remove_action( "admin_print_scripts", "print_emoji_detection_script" );
remove_action( "admin_print_styles", "print_emoji_styles" );
remove_action( "wp_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_emoji' );
Якщо у вас стара версія вордпресу, у вас є ще редактор TinyMCE і ви з якоїсь причини не можете оновитися до останньої версії, то можна додати і наступний код, для вимикання емодзі і в редакторі.
/* Відключення плагіна tinymce emoji. */
function disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( "wpemoji" ) );
} else {
return array();
}
}
Також можна вимкнути ім’я хоста CDN з вибірки DNS.
function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
if ( "dns-prefetch" == $relation_type ) {
$emoji_svg_url = apply_filters( "emoji_svg_url", "https://s.w.org/images/core/emoji/2/svg/" );
$urls = array_diff( $urls, array( $emoji_svg_url ) );
}
return $urls;
}
Якщо у вас не вийшло, то ви завжди можете найняти фріланс веб розробника, на зразок мене, щоб він зробив всю роботу, і у вас не було зайвих турбот.