Skip to content

Instantly share code, notes, and snippets.

@lgraubner
Created September 9, 2017 18:49
Show Gist options
  • Save lgraubner/54bd698df7b6f943d03cdd2a021170b7 to your computer and use it in GitHub Desktop.
Save lgraubner/54bd698df7b6f943d03cdd2a021170b7 to your computer and use it in GitHub Desktop.
Plugin to disable Wordpress Emoji functionality
<?php
/*
Plugin Name: Disable Emojis
Description: Disable Wordpress emoji functionality
Version: 1.0.0
Author: Lars Graubner
Author URI: https://larsgraubner.com
License: MIT License
*/
function disable_emojis() {
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');
remove_filter('the_content_feed', 'wp_staticize_emoji');
remove_filter('comment_text_rss', 'wp_staticize_emoji');
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
add_filter('tiny_mce_plugins', 'disable_emojis_tinymce');
add_filter('wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2);
}
add_action('init', 'disable_emojis');
/**
* Filter function used to remove the tinymce emoji plugin.
*
* @param array $plugins
* @return array Difference betwen the two arrays
*/
function disable_emojis_tinymce($plugins) {
if (is_array($plugins)) {
return array_diff($plugins, array('wpemoji'));
} else {
return array();
}
}
/**
* Remove emoji CDN hostname from DNS prefetching hints.
*
* @param array $urls URLs to print for resource hints.
* @param string $relation_type The relation type the URLs are printed for.
* @return array Difference betwen the two arrays.
*/
function disable_emojis_remove_dns_prefetch($urls, $relation_type) {
if ('dns-prefetch' == $relation_type) {
/** This filter is documented in wp-includes/formatting.php */
$emoji_svg_url = apply_filters('emoji_svg_url', 'https://s.w.org/images/core/emoji/2.3/svg/');
$urls = array_diff($urls, array($emoji_svg_url));
}
return $urls;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment