Code is Poetry

Removing Emoji & Emoticon Support from WordPress ;-)

Apparently, since its 4.2 update WordPress automatically converts text based smilies like “;-)” into emoji images like 😉

Besides being problematic regarding loading times (the script is loaded wether you use emojis or not) – the images might not fit the overall asthetics and design of the site while a text-only smiley might be preferred.

I started out by using WordPress hooks as described here:

remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

…and amending this as described here:

function disable_wp_emojicons() {

  // all actions related to emojis
  remove_action( 'admin_print_styles', 'print_emoji_styles' );
  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_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
  remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
  remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );

  // filter to remove TinyMCE emojis
  add_filter( 'tiny_mce_plugins', 'disable_emojicons_tinymce' );
}
add_action( 'init', 'disable_wp_emojicons' );

  // disable TinyMCE emojicons
function disable_emojicons_tinymce( $plugins ) {
  if ( is_array( $plugins ) ) {
    return array_diff( $plugins, array( 'wpemoji' ) );
  } else {
    return array();
  }
}

  // remove the DNS prefetch 	
add_filter( 'emoji_svg_url', '__return_false' );

But this did not turn my text smiley back into plain text.

Then I discovered the plugin “Keep Emoticons as Text” which does the trick with a single line of code:

add_filter( 'option_use_smilies', '__return_false' );

You can easily put all above and this last line in the functions.php of your child theme – or, even better, in your own functional plugin. And you’re done 😉

0 comments on “Removing Emoji & Emoticon Support from WordPress ;-)

Leave a Reply

Your email address will not be published. Required fields are marked *

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)