it-swarm.com.de

Deaktivieren Sie Emojicons, die mit eingeführt wurden WP 4.2

Also WP 4.2 hat Emojis (Smileys) eingeführt, die im Grunde genommen JS und anderen Müll auf allen Ihren Seiten hinzufügen. Einige Leute mögen das schockierend finden. Wie löscht man alle Instanzen davon vollständig?

133

Wir werden uns in init einhängen und Aktionen wie folgt entfernen:

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' );

Wir benötigen die folgende Filterfunktion, um TinyMCE-Emojicons zu deaktivieren:

function disable_emojicons_tinymce( $plugins ) {
  if ( is_array( $plugins ) ) {
    return array_diff( $plugins, array( 'wpemoji' ) );
  } else {
    return array();
  }
}

Jetzt atmen wir ein und tun so, als wäre dieses Feature nie zum Kern hinzugefügt worden ... insbesondere, während Tonnen von behoben Bugs noch implementiert werden müssen.

Dies ist als Plugin verfügbar, Emojis deaktivieren .

Alternativ können Sie die Smilies mit Classic Smilies durch die Originalversionen aus früheren WordPress-Versionen ersetzen.

Aktualisieren

Wir können den DNS-Prefetch auch entfernen, indem wir bei Filter emoji_svg_url false zurückgeben (danke @yobddigi):

add_filter( 'emoji_svg_url', '__return_false' );
189

Bessere Lösung, wenn Sie dies deaktivieren möchten: Verwenden Sie ein Plugin.

Gleicher Code wie aus Christines Kommentaren: https://wordpress.org/plugins/disable-emojis/

Derselbe Code, der auch die Smilies behebt, die älter sind: https://wordpress.org/plugins/classic-smilies/

Quelle: Ich, seit ich diesen Code geschrieben habe. https://plugins.trac.wordpress.org/changeset/1142480/classic-smilies

27
Otto

Dies ist der einfache Weg, um Emoji zu entfernen. Füge den folgenden Code zu deinem function.php hinzu

remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' ); 
14
Exclutips

Wenn Sie verhindern möchten, dass Wordpress Ihre alten ASCII -Smileys in Unicode-Emojis (wie ;-) in ????) in Ihren Posts automatisch konvertiert, möchten Sie möglicherweise remove_filter('the_content', 'convert_smilies')

(Nicht 100% sicher, worum es in der Frage geht, aber dies hat mein Problem gelöst und ich hoffe, es ist für jemanden nützlich.)

2
Christallkeks

Ich habe einige Codes oben ausprobiert, aber der einzige Code, der auf meiner Seite funktioniert, ist dieser.

Vergessen Sie nicht, Ihre functions.php zu sichern, bevor Sie diese Codes implementieren.

// 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' );
0
johnhgaspay