WordPress emoticons (of emoji) verwijderen

WordPress introduceerde emoticons (WP noemt ze emoji’s, vraag me niet waarom) in versie 4.2 van het populaire Content Management Systeem (CMS). Eerlijk gezegd snap ik niet waarom en vind ik het een vrij ondoordachte stap. WordPress is de afgelopen jaren uitgegroeid van een bloggersplatform tot een volwaardig en zeer uitgebreid CMS. Het standaard invoeren van emoticons lijkt op een stap terug: emoticons kunnen misschien een rol spelen op een interactief blog, maar toch niet op een serieuze bedrijfswebsite of webwinkel? Het is voor mij een raadsel waarom WordPress dit niet heeft ingevoerd als een optie: “Wilt u emoticons activeren? JA/NEE”.

Hoe dan ook, het de-activeren van deze emoji’s is niet zo moeilijk. Voeg de volgende code toe aan het bestand ‘functions.php’ in de folder van je thema (voorbeeld: /wp-content/themes/THEMANAAM/functions.php):


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' );

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