0

In my page content, I have the following:

<li><span class="tick">✔</span> Fully qualified and insured technicians, with over a decade of experience</li>

On the frontend, WordPress changes the ✔ to:

<img draggable="false" role="img" class="emoji" alt="✔" src="https://s.w.org/images/core/emoji/13.0.1/svg/2714.svg">

I can't change the colour of this SVG image, it is black, and we need it white.

How do I prevent the conversion of emojis to SVG?

EDIT

I've found this answer which says to use:

add_filter( 'emoji_svg_url', '__return_false' );

All that does is break the image but display the alt text in the correct format:

enter image description here

The same code remains:

<img draggable="false" role="img" class="emoji" alt="✔" src="https://s.w.org/images/core/emoji/13.0.1/svg/2714.svg">
0
1

The code from this page solved the problem for me.

/**
 * Disable the emoji's
 */
function 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', 'disable_emojis' );
/**
 * Filter function used to remove the tinymce emoji plugin.
 * 
 * @param array $plugins 
 * @return array Difference betwen the two arrays
 */
function disable_emojis_tinymce( $plugins ) {
 if ( is_array( $plugins ) ) {
 return array_diff( $plugins, array( 'wpemoji' ) );
 } else {
 return array();
 }
}
/**
 * Remove Emoji in WordPress automatically 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 Difference betwen the two arrays.
 */
function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
 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/svg/' );
$urls = array_diff( $urls, array( $emoji_svg_url ) );
 }
return $urls;
}

Not the answer you're looking for? Browse other questions tagged or ask your own question.