Improve your WordPress website performance by removing default emoji scripts and styles loaded by WordPress in both frontend and admin areas. This lightweight snippet helps reduce unnecessary HTTP requests and clean up your site’s source code for better speed optimization.
/**
* Disable WordPress Emojis
*/
function wpflock_disable_emojis() {
// Remove emoji scripts
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
// Remove emoji styles
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
// Remove from RSS feeds
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
// Remove from emails
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
// Disable TinyMCE emojis
add_filter( 'tiny_mce_plugins', 'wpflock_disable_emojis_tinymce' );
// Disable emoji CDN hostname
add_filter( 'emoji_svg_url', '__return_false' );
}
add_action( 'init', 'wpflock_disable_emojis' );
/**
* Remove emoji plugin from TinyMCE
*/
function wpflock_disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
}
return array();
}