Donc, WP 4.2 a introduit emojis (smileys) qui ajoute essentiellement JS et d’autres objets indésirables sur toutes vos pages. Quelque chose que certaines personnes peuvent trouver choquant. Comment efface-t-on complètement toutes les occurrences?
Nous allons nous accrocher à init
et supprimer les actions comme suit:
function disable_wp_emojicons() {
// all actions related to emojis
remove_action( 'admin_print_styles', 'print_emoji_styles' );
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_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
// filter to remove TinyMCE emojis
add_filter( 'tiny_mce_plugins', 'disable_emojicons_tinymce' );
}
add_action( 'init', 'disable_wp_emojicons' );
La fonction de filtrage suivante est nécessaire pour désactiver les émoticônes TinyMCE:
function disable_emojicons_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}
Maintenant, nous respirons et prétendons que cette fonctionnalité n’a jamais été ajoutée au noyau ... en particulier alors que des tonnes de resolus bugs sont encore à implémenter.
Ceci est disponible sous forme de plugin, Disable Emojis .
Sinon, vous pouvez remplacer les smileys par les versions originales des versions précédentes de WordPress en utilisant Smileys Classiques .
Nous pouvons également supprimer le prefetch DNS en renvoyant false sur le filtre emoji_svg_url
(merci @yobddigi):
add_filter( 'emoji_svg_url', '__return_false' );
Meilleure solution si vous souhaitez désactiver ceci: utilisez un plugin.
Même code à partir des commentaires de Christine: https://wordpress.org/plugins/disable-emojis/
Même code qui fixe également les smileys aux anciens: https://wordpress.org/plugins/classic-smilies/
Source: Moi, depuis que j'ai écrit ce code en premier lieu. https://plugins.trac.wordpress.org/changeset/1142480/classic-smilies
C'est le moyen simple de supprimer les emoji. Ajoutez le code ci-dessous à votre function.php
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
Si vous souhaitez empêcher Wordpress de convertir automatiquement votre ancienne école ASCII smileys en émojis Unicode (comme ;-)
à ????
) dans vos messages, vous voudrez peut-être remove_filter('the_content', 'convert_smilies')
(Je ne suis pas sûr à 100% que la question est la bonne, mais cela a résolu mon problème et j'espère que cela sera utile pour quelqu'un.)
J'ai essayé quelques codes ci-dessus mais le seul code qui fonctionne de mon côté est celui-ci.
N'oubliez pas de sauvegarder votre fichier functions.php avant d'implémenter ces codes.
// REMOVE WP EMOJI
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );