غیرفعال کردن اموجیهای پیشفرض وردپرس جهت بهبود سرعت (Disable Emojis)
با قرار دادن کد زیر در functions.php، اسکریپتهای زائد اموجی وردپرس حذف شده و سرعت لود و نمره Core Web Vitals بهبود مییابد.
مشخصات فنی و شناسنامه کد (Code Information)
بازبینی: 1405/06/29<?php
/**
* غیرفعالسازی کدهای جاوااسکریپت و استایلهای مربوط به ایموجی وردپرس
*/
function bisco_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', 'bisco_disable_emojis_tinymce' );
add_filter( 'wp_resource_hints', 'bisco_disable_emojis_dns_prefetch', 10, 2 );
}
add_action( 'init', 'bisco_disable_emojis' );
function bisco_disable_emojis_tinymce( $plugins ) {
return is_array( $plugins ) ? array_diff( $plugins, array( 'wpemoji' ) ) : array();
}
function bisco_disable_emojis_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/' );
$urls = array_diff( $urls, array( $emoji_svg_url ) );
}
return $urls;
}
کد را کجا قرار دهیم؟ (Placement Guide)
کد را در functions.php پوسته کپی کنید.
این کد چگونه کار میکند؟ (How it Works)
تمام توابع ثبت اسکریپت تشخیص ایموجی از هوک wp_head و ادمین برداشته شده و کانکشن dns-prefetch به دامنه خارجی s.w.org حذف میگردد.
چه زمانی از این کد استفاده کنیم؟ (Use Cases)
در تمام پروژههای بهینهسازی سرعت و افزایش نمره PageSpeed Insights و GTmetrix.
چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)
موردی وجود ندارد؛ سیستمعاملها خودشان ایموجی را به صورت بومی و بدون نیاز به JS رندر میکنند.
پیشنیازهای اجرا
وردپرس ۴.۲ به بالا.
نحوه تست و اطمینان از عملکرد
در تب Network یا کدهای هدر، دیگر هیچ درخواستی به wp-emoji-release.min.js و استایلهای wp-block-library مربوطه ارسال نخواهد شد.
نحوه بازگردانی سریع (Rollback)
کد را از functions.php بردارید.
خطاهای رایج و راهحل رفع
نگرانی در مورد پاک شدن ایموجیها؛ نگران نباشید، ایموجیهایی مثل 😊 در مرورگر کاربر به زیبایی رندر میشوند.
ملاحظات و نکات امنیتی
حذف درخواستهای DNS خارجی غیرضروری به s.w.org.
تاثیر بر سرعت و پرفورمنس
کاهش ۱ درخواست HTTP خارجی، کاهش حجم کدهای اینلاین هدر و جلوگیری از مسدود شدن رندرینگ مرورگر (Render Blocking).