Skip to content

Instantly share code, notes, and snippets.

@chrisdavidmiles
Created August 25, 2022 14:14
Show Gist options
  • Save chrisdavidmiles/7727d3c4b8b8967f87e6ff0338b8297c to your computer and use it in GitHub Desktop.
Save chrisdavidmiles/7727d3c4b8b8967f87e6ff0338b8297c to your computer and use it in GitHub Desktop.
WordPress Plugin: Disable Emojis
<?php
/**
* Plugin Name: Disable Emojis
* Plugin URI: https://gist.github.com/chrisdavidmiles/7727d3c4b8b8967f87e6ff0338b8297c
* Description: Disable the automatic emoji replacement in post content and prevent the use of the s.w.org emoji cdn on the site.
* Author: Chris David Miles
* Version: 0.1
*/
if ( ! defined( 'ABSPATH' ) ) die;
// Remove dns prefetch of emojis
function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
if ( 'dns-prefetch' == $relation_type ) {
$emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/' );
$urls = array_diff( $urls, array( $emoji_svg_url ) );
}
return $urls;
}
// Remove the emoji extension from tinymce if it exists
function disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}
//Remove emojis from posts, wp-admin, and everywhere else
function cdm_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', 'cdm_disable_emojis' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment