Rating: 1 star
Just tested this on my staging site. Emojis are all still there. Double-checked here to confirm nothing else was required after activation to remove emojis. Sad.
This code works if you add it to the end of your Functions.php file:
// Disable emojis in WordPress
function disable_emoji_feature()
{
// Prevent Emoji from loading on the front-end
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
// Remove from admin area also
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('admin_print_styles', 'print_emoji_styles');
// Remove from RSS feeds also
remove_filter('the_content_feed', 'wp_staticize_emoji');
remove_filter('comment_text_rss', 'wp_staticize_emoji');
// Remove from Embeds
remove_filter('embed_head', 'print_emoji_detection_script');
// Remove from emails
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
// Disable from TinyMCE editor. Currently disabled in block editor by default
add_filter('tiny_mce_plugins', 'disable_emojis_tinymce');
/** Finally, prevent character conversion too
** without this, emojis still work
** if it is available on the user's device
*/
add_filter('option_use_smilies', '__return_false');
}
// Disables emojis in WYSIWYG editor
function disable_emojis_tinymce($plugins)
{
if (is_array($plugins)) {
$plugins = array_diff($plugins, array('wpemoji'));
}
return $plugins;
}
add_action('init', 'disable_emoji_feature');
}
]]>Rating: 5 stars
Very Nice!
]]>