Sid Gifari File Manager
🏠 Root
/
home
/
nradmin
/
www
/
wp-content
/
plugins
/
w3-total-cache
/
📝 Editing: UserExperience_Emoji_Extension.php
<?php /** * File: UserExperience_Emoji_Extension.php * * @package W3TC */ namespace W3TC; /** * Class UserExperience_Emoji_Extension */ class UserExperience_Emoji_Extension { /** * Executes the necessary actions to disable emoji functionality in WordPress. * * This method removes WordPress's default emoji-related actions and filters to prevent emojis from being added * to the HTML output, email content, and RSS feeds. Additionally, it hooks into other filters to manage TinyMCE * plugins and resource hints related to emojis. * * @return void */ public function run() { remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); add_filter( 'tiny_mce_plugins', array( $this, 'tiny_mce_plugins' ) ); add_filter( 'wp_resource_hints', array( $this, 'wp_resource_hints' ), 10, 2 ); } /** * Filters TinyMCE plugins to remove the emoji plugin. * * This method checks if the provided `$plugins` array is valid, then filters it to remove the 'wpemoji' plugin * from the list, which disables the emoji plugin in the TinyMCE editor. * * @param array $plugins An array of TinyMCE plugins. * * @return array The filtered array of TinyMCE plugins with 'wpemoji' removed. */ public function tiny_mce_plugins( $plugins ) { if ( ! is_array( $plugins ) ) { return array(); } return array_filter( $plugins, function ( $v ) { return 'wpemoji' !== $v; } ); } /** * Filters the resource hints to remove unnecessary DNS prefetch for emoji-related resources. * * This method checks if the provided `$urls` is a valid array and if the `$relation_type` is 'dns-prefetch'. * It then filters out the 'https://s.w.org/' URL used by WordPress for emoji DNS prefetching. * * @param array $urls An array of resource URLs. * @param string $relation_type The type of relation for the resource hints (e.g., 'dns-prefetch'). * * @return array The filtered array of resource URLs, excluding the emoji DNS prefetch URL. */ public function wp_resource_hints( $urls, $relation_type ) { if ( ! is_array( $urls ) || 'dns-prefetch' !== $relation_type ) { return $urls; } // remove s.w.org dns-prefetch used by emojis. return array_filter( $urls, function ( $v ) { return ( 'https://s.w.org/' !== substr( $v, 0, 16 ) ); } ); } } $o = new UserExperience_Emoji_Extension(); $o->run();
💾 Save
❌ Cancel
Sid Gifari File Manager v1.0 | Terminal Auto-Sync Enabled | Current Path: /home/nradmin/www/wp-content/plugins/w3-total-cache