Style correction + remove emoji from CDN prefetch (cf. disable-emojis plugin)
--- 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