Skip to content

Instantly share code, notes, and snippets.

@dashkevych
Created September 10, 2017 20:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dashkevych/b630bb490d5e62ddbb7a77178ba528ae to your computer and use it in GitHub Desktop.
Save dashkevych/b630bb490d5e62ddbb7a77178ba528ae to your computer and use it in GitHub Desktop.
Disable Emojis in WordPress
/**
* Disable the emoji's.
*/
function themeslug_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', 'themeslug_disable_emojis_tinymce' );
add_filter( 'wp_resource_hints', 'themeslug_disable_emojis_remove_dns_prefetch', 10, 2 );
}
add_action( 'init', 'themeslug_disable_emojis' );
/**
* Filter function used to remove the tinymce emoji plugin.
*/
function themeslug_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.
*/
function themeslug_disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
if ( 'dns-prefetch' == $relation_type ) {
// Strip out any URLs referencing the WordPress.org emoji location
$emoji_svg_url_bit = 'https://s.w.org/images/core/emoji/';
foreach ( $urls as $key => $url ) {
if ( strpos( $url, $emoji_svg_url_bit ) !== false ) {
unset( $urls[$key] );
}
}
}
return $urls;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment