Created
August 25, 2022 14:14
-
-
Save chrisdavidmiles/7727d3c4b8b8967f87e6ff0338b8297c to your computer and use it in GitHub Desktop.
WordPress Plugin: Disable Emojis
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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