Skip to main content
Login Join
Snippet · PHP

Disable WordPress Emoji Scripts & Styles

Shared by Sumit Javia · May 20, 2026

8 views
Back to Snippets

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();
}