How to Disable Emojis in WordPress

Collapse

Unconfigured Ad Widget

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • Rachel S
    Senior Member
    • Apr 2022
    • 186

    How to Disable Emojis in WordPress

    It slows down my site.
  • Delaney martin
    Senior Member
    • Jun 2022
    • 191

    #2
    Emojis in WordPress can slow down your site because they require extra JavaScript and CSS files to load, adding more HTTP requests. This might not seem like much, but it can add around 5.6k to 14.7k in page weight and a couple of extra requests, impacting performance, especially on slower connections.

    Comment

    • wisly.k
      Senior Member
      • May 2022
      • 195

      #3
      I recommend you to first create WordPress child theme and then add the below code inside your theme's functions.php file.

      Code:

      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 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;
      }

      Comment

      VPS Hosting
      Working...
      X