Removing all emoji code from a ClassicPress site

No emojis

Here’s a quick tip for ClassicPress theme developers. If you want to remove all trace of the WordPress/ClassicPress built-in emoji scripts, styles and tags from your ClassicPress site’s pages, here is the code that you need to add to your theme’s functions.php file:

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');
add_filter('emoji_svg_url', '__return_false');

This code should be added near the end of your functions.php file (but before the final ?> if there is one).

The last line was not needed for WordPress sites, but is needed for ClassicPress. It prevents the site outputting a DNS Prefetch tag for the ClassicPress emoji subdomain, and therefore simplifies your GDPR disclosure obligations slightly.

ClassicPress version 2 should remove this fairly useless functionality altogether by shifting it to a core plugin. If you’d like to make sure it does, you can upvote the petition.

This tutorial was originally published on The original post can be found here.

Avatar for ZigPress
About ZigPress

Experienced British web developer and consultant; founder and owner of ZigPress. ZigPress offers ClassicPress and WordPress website care plans and a complete website design and development service.

Notable Replies

  1. Avatar for james james says:

    Are you sure about this part? I’d expect WP 4.9.12 and ClassicPress to behave the same way here.

    This is going to be first on the chopping block for v2, because it is the top-voted petition and not terribly difficult to remove (for example the Customizer would be another story). However I think it is actually pretty useful.

    If your site content, or visitors’ comments, use emoji then they will appear differently to visitors depending on their OS and device type. Some emoji do not even look close to the same thing across platforms:

    And for most Linux users this will probably look something like a box with some numbers in it instead of a face.

    The emoji code is not implemented in a very performant way, but it normalizes all of this.

  2. Good point re the first quote. The last time I checked on a WP site was pre-4.8 so it may have become necessary for both WP and CP since that check. But anyway it’s certainly necessary now on CP. Maybe I should remove that particular sentence to avoid any confusion.

    Re the second quote, it’s a subjective issue, but I think removing it for business sites that don’t permit comments is a sensible thing to do.

Continue the discussion at


Avatar for james Avatar for anon95694377