Tu as peut-être remarqué que ton site WordPress fait des connexions vers w.org et s.w.org
Pas de panique, c’est rien de méchant.
C’est probablement dû au fait que ton site charge, à partir de ces domaines, les emojis que tu as mis sur ta page où dans ton article (ou dans les commentaires)
C’est le fonctionnement par défaut de WordPress.
C’est pas super gênant, mais tant qu’à faire autant éviter ça.
Surtout que les navigateurs récents chargent localement et nativement très bien les émojis aujourd’hui ! (donc, oui tu auras toujours tes emojis qui s’afficheront)
Pour désactiver le chargement externe des emojis, ajoute ce code à ton fichier functions.php :
/**
* 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 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;
}
Personnellement, j’utilise l’extension Code Snippets pour ajouter simplement des codes à mon fichier functions.php et ne pas les perdre lors des mises à jour 😉
Merci pour votre article. J’avais effectivement remarqué (à l’aide d’un outil spécifique il me semble, mais je ne sais plus lequel) des connexions externes depuis mon site à cause de ces emojis, mais je ne savais pas comment les supprimer. J’ai intégré votre script.
J’espère que çà va fonctionner (j’ai effectivement modifié le fichier « functions.php »).
Merci encore
Serge
De rien 😉
Tu as modifié le fichier functions.php de ton thème enfant ou avec Code Snippets ?
Parce que si tu as modifié directement le fichier functions.php de ton thème parent à la prochaine mise à jour de ce thème ta modif va sauter 😉
Et non, je l’ai modifié en directe parce que je n’ai pas compris le fonctionnement de Code Snippets :). Et peu après je me suis aperçu d’un problème sur mon site (sur les pages Anglaises les couleurs s’affichaient sous forme de codes HTML et les tags aussi) que j’ai sur le coup attribué à mes modifs du code php. Après être revenu en arrière, j’ai vu que çà ne changeait rien et que le souci (toujours non résolu) venait d’ailleurs (probablement de mon widget de gestion Français/Anglais) car les pages Françaises s’affichent correctement. Donc pour l’instant c’est en stand-by (de mémoire j’ai remis la modif du fichier function.php).
Tout ceci dépasse largement mes compétences :).
Merci en tout cas d’avoir partagé 🙂