Los emoji son algo más que emoticones, hay quién los define como ideogramas, y su uso se ha popularizado desde Japón al resto del mundo. ¿Quién no los usa en WhatsApp, Facebook, Twitter o Instagram? WordPress 4.2 añadió soporte para los emojis y para ello tuvo que mejorar la base de datos de utf8 a utf8mb4 para poder almacenar todo el rango de caracteres Unicode y dar cabida a los emojis.

A muchos les puede gustar, a muchos otros no. El tema es que el soporte para emojis inserta, en todas y cada una de las páginas, javascript y css destinado a asegurar que los emojis se puedan ver incluso si el navegador/OS utilizado por el usuario no soporta los emojis. Y si eres de los que no quiere emojis en tu web, ¿para qué quieres esos scripts en cada página de tu sitio?

La solución la he encontrado hoy en WPSE en una pregunta-respuesta Christine Cooper:

add_action( 'init', 'disable_wp_emojicons' );
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' );
}

// Callback for 'tiny_mce_plugins'
function disable_emojicons_tinymce( $plugins ) {
  if ( is_array( $plugins ) ) {
    return array_diff( $plugins, array( 'wpemoji' ) );
  } else {
    return array();
  }
}