# HG changeset patch # User ymh # Date 1560783614 -7200 # Node ID 86535a5969b85b12072a67fdc88869b56cdf71c1 # Parent 5249c3c623a6204361fa704b0cda530f223d4880 Style correction + remove emoji from CDN prefetch (cf. disable-emojis plugin) diff -r 5249c3c623a6 -r 86535a5969b8 src/web/app/themes/twentynineteen-child/functions.php --- a/src/web/app/themes/twentynineteen-child/functions.php Mon Jun 17 12:56:05 2019 +0200 +++ b/src/web/app/themes/twentynineteen-child/functions.php Mon Jun 17 17:00:14 2019 +0200 @@ -14,16 +14,18 @@ /** * Disable the emoji's + * from https://wordpress.org/plugins/disable-emojis/ */ 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' ); + 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' ); @@ -31,12 +33,37 @@ * Filter function used to remove the tinymce emoji plugin. * * @param array $plugins - * @return array Difference betwen the two arrays + * @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(); - } + 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 ) { + + // Strip out any URLs referencing the WordPress.org emoji location + $emoji_svg_url_bit = 'https://s.w.org/images/core/emoji/'; + foreach ( $urls as $key => $url ) { + if ( strpos( $url, $emoji_svg_url_bit ) !== false ) { + unset( $urls[$key] ); + } + } + + } + + return $urls; } \ No newline at end of file