Skip to content

Instantly share code, notes, and snippets.

@bueltge
Last active March 25, 2019 08:16
Show Gist options
  • Save bueltge/4dd169367bdec7bc02878cdc031c5a01 to your computer and use it in GitHub Desktop.
Save bueltge/4dd169367bdec7bc02878cdc031c5a01 to your computer and use it in GitHub Desktop.
Remove the Emoji Support in WordPress. #performance
<?php declare(strict_types=1);
/**
* Plugin Name: Emoji Removel.
* Description: Remove all Emoji support to laod faster on back - and front-end.
*/
add_action(
'init',
function () {
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');
// Remove the tinymce emoji plugin.
add_filter(
'tiny_mce_plugins',
function (array $plugins): array {
if (is_array($plugins)) {
return array_diff($plugins, ['wpemoji']);
}
return [];
}
);
add_filter(
'wp_resource_hints',
/**
* 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 $urls
*/
function (array $urls, string $relation_type): array {
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, [$emoji_svg_url]);
}
return $urls;
},
10,
2
);
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment