غیرفعال کردن ایموجی (emoji) در وردپرس

ایموجی (emoji) یا همان شکلک های با مزه ای که در پیام رسان ها و شبکه های اجتماعی از آنها استفاده می کنیم نیاز به معرفی ندارند. کاربران وب از این شکلک ها به طور گسترده برای انتقال احساسات یا منظور خود در وب سایت ها و برنامه های تلفن های همراه استفاده می کنند.

وردپرس به صورت پیش فرض قابلیت استفاده از مجموعه ای از ایموجی ها را در خود گنجانده است. فایل های مربوط به کتابخانه ایموجی در تمامی صفحات وردپرس بارگذاری می شوند، حتی اگر از آنها استفاده ای نشود. فایل wp-emoji-release.min.js شامل کتابخانه ایموجی در وردپرس می باشد.

در تصویر زیر کدهای مربوط به ایموجی که در هدر وردپرس قرار می گیرد و همچنین هوکی که سبب افزودن تابع اکشن این کدها به وردپرس می شود، نشان داده شده است.

حذف ایموجی از وردپرس

در صورتی که وجود ایموجی برای سایت شما ضرورتی ندارد، برای بهبود کارایی و افزایش سرعت بارگذاری سایت، می توانید فرآیند بارگذاری ایموجی در وردپرس را غیرفعال نمایید. این کار علاوه بر جلوگیری از بارگذاری فایل کتابخانه ایموجی، شامل حذف کدهای js و CSS مربوط به آن نیز می باشد. همچنین، کتابخانه ایموجی علاوه بر خروجی سایت، در بخش مدیریت وردپرس، فیدهای RSS، ایمیلها و ویرایشگر TinyMCE نیز بارگذاری می شود و تغییرات لازم را برای این بخش ها نیز باید به اجرا در آورد.

برای غیرفعال کردن ایموجی در وردپرس از کد زیر استفاده می کنیم. این کد باید به فایل functions.php قالب سایت و یا به عنوان یک پلاگین اضافه گردد.

<?php
function disable_emoji_feature() {

	// Prevent Emoji from loading on the front-end
	remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
	remove_action( 'wp_print_styles', 'print_emoji_styles' );

	// Remove from admin area also
	remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
	remove_action( 'admin_print_styles', 'print_emoji_styles' );

	// Remove from RSS feeds also
	remove_filter( 'the_content_feed', 'wp_staticize_emoji');
	remove_filter( 'comment_text_rss', 'wp_staticize_emoji');

	// Remove from Embeds
	remove_filter( 'embed_head', 'print_emoji_detection_script' );

	// Remove from emails
	remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );

	// Disable from TinyMCE editor. Currently disabled in block editor by default
	add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );

	/** Finally, prevent character conversion too
         ** without this, emojis still work
         ** if it is available on the user's device
	 */

	add_filter( 'option_use_smilies', '__return_false' );

}

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

add_action('init', 'disable_emoji_feature');
?>

در تابع disable_emoji_feature با استفاده از توابع remove_action و remove_filter تمامی فیلترها و اکشن هایی که در بارگذاری ایموجی در وردپرس سهم دارند، را حذف می کنیم.

در صورتی که نمی خواهید با قراردادن کد فوق بارگذاری ایموجی را غیرفعال نمایید، می توانید از پلاگینی مانند Disable Emojis برای این کار استفاده نمایید.

پست های مرتبط

Leave a Comment