WP 4.2 ile tanıtılan emojicon'ları devre dışı bırak


135

Böylece WP 4.2, sayfalarınızda temel olarak JS ve diğer önemsiz öğeleri ekleyen emoji'leri (gülen yüzler) tanıttı. Bazı insanların şok edici bulabileceği bir şey. Kişi bunun bütün örneklerini nasıl siliyor?


39
O kadar şok oldum ki, duyuruyu okuduğumda neredeyse sandalyeme
çarpıyordum

2
o_O ... 9_9 ...>: - (
cjbj 10:16

Yanıtlar:


193

Biz içine kanca initve takip gibi eylemleri kaldırın:

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

TinyMCE emojicons'unu devre dışı bırakmak için aşağıdaki filtre işlevine ihtiyacımız olacak:

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

Şimdi nefes alıyoruz ve bu özelliğin hiçbir zaman çekirdeğe eklenmediğini düşünüyoruz ... özellikle tonlarca çözülmüş böcek henüz uygulanmıyor.

Bu bir eklenti olarak mevcuttur, Emojiyi Devre Dışı Bırak .

Alternatif olarak, Klasik İfadeleri kullanarak ifadeleri önceki WordPress sürümlerinden orijinal sürümleriyle değiştirebilirsiniz .

Güncelleme

Ayrıca, DNS ön emoji_svg_urlayarını süzgeç üzerinde false döndürerek de kaldırabiliriz (thanks @yobddigi):

add_filter( 'emoji_svg_url', '__return_false' );

25
Teşekkürler! Neden insanların bunu etkinleştirip devre dışı bırakmalarına izin vermediklerinden emin değilim Settings -> Writingama kesinlikle can sıkıcı bir durum. +1
Howdy_McGee

6
Repo veya github; 'emojicons' eklentisini devre dışı bırak ;-)
birgire


3
Cevap için teşekkürler! Bu, en azından bir "seçenek in" veya ~ _ ~ devre dışı bırakmak için bir yol, çekirdeğin bir parçası olan inanamıyorum
phatskat

5
Ve başlıkta bile minimuma indirilmemiş senaryolara ve stillere değer 114 satır eklediklerini görmek şok edici. Eklenti için teşekkürler ...
Debajyoti Das

28

Bunu devre dışı bırakmak istiyorsanız daha iyi bir çözüm: bir eklenti kullanın.

Christine'nin yorumlarındaki kodla aynı: https://wordpress.org/plugins/disable-emojis/

İfadeleri de eskisi gibi ayarlayan aynı kod: https://wordpress.org/plugins/classic-smilies/

Kaynak: Ben, ilk önce bu kodu yazdığımdan beri. https://plugins.trac.wordpress.org/changeset/1142480/classic-smilies


Güzel! Yine de bir github girişi aracılığıyla fonksiyonlara rastladım. Bu eklenti bağlantılarıyla cevabımı güncelledim. Teşekkürler!
Christine Cooper

Evet, muhtemelen yaptın. Ben bir twitter kullanıcısı için de github'a koydum
Otto

14

Bu emoji kaldırmak için basit bir yoldur. Cihazınıza feryat kodu ekleyinfunction.php

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

2
Bu zaten yukarıdaki sorumla ilgiliydi.
Christine Cooper

Teşekkürler, bu kodu güzel bir şekilde kaldırır - garip bir şekilde, sayfalarımın bununla işlevlerim.php dosyasına yüklenmemesi 2 - 3 saniye sürer.
Steve

Bu üzerinden koşmalı init. Cevabımı gör .
Christine Cooper

2

Otomatik Unicode emoji'yi (gibi için eski okul ASCII ifadeleri dönüştürme gelen Wordpress önlemek istiyorsanız ;-)için 😉) Yayınlarınızda tamamen, belki istersinizremove_filter('the_content', 'convert_smilies')

(Sorunun ne anlama geldiğine bu% 100 emin değil, ama bu benim sorunumu çözdü ve umarım biri için kullanışlı olabilir.)


0

Yukarıdaki bazı kodları denedim ama benim tarafımdaki tek kod bu.

Bu kodları uygulamadan önce fonksiyonlarınızı yedeklemeyi unutmayın.

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

Cevabımdaki kodu uygun şekilde test ettiniz mi?
Christine Cooper

evet birçok kez denedim, site cloudflare-nginx sunucusunda
johnhgaspay

Sadece kodumu iki kez kontrol ettim ve çalışıyor. Bu kodu functions.php dosyasına eklediğinizde, bunun gibi daha yüksek bir öncelik belirlemeyi deneyin:add_action( 'init', 'disable_wp_emojicons', 3 );
Christine Cooper

-1

İyi haber, bir özellik isteği ekledim:

Buraya WordPress WP_EMOICONS için yeni bir seçenek tanıtın https://core.trac.wordpress.org/ticket/38252

ve görünüşe göre bu, kopya https://core.trac.wordpress.org/ticket/32102 olarak işaretlendi, bu yüzden şöyle bir şey bekleyebiliriz

define( 'WP_EMOICONS', false );

Gelecekte WordPress bültenleri.


1
Görünüşe göre bilet # 32102 wontfix ile kapalı . İyimser ;-) çalışıyor ve beeing için 1
birgire

2
ps: Anladığım kadarıyla, # 38252 numaralı biletiniz kapatıldı, çünkü daha önce bir wontfix olarak kapatılmış olan # 32102 numaralı biletin kopyasıydı. Bu yüzden gün gelip eklentileri, bu sıralamak zorunda kalacak gibi görünüyor ;-) Dolayısıyla ;-) kadar iyimser olduğu için o kadar oylama
birgire

-2

WordPress emoji kılıcından servis edildiğinden ve sıkıştırılmadığından, bu, kaç tane emoji kullandığınıza bağlı olarak SVG yükleme süresini etkiler ve hatta Google'ın PageSpeed ​​Insights aracına uyarılar verebilir.

Bu sorunu gidermek için, emojiye doğrudan WordPress sitenizin kendisinden hizmet edebilir, js üzerinden dış arama yapamazsınız.

Bu , WordPress.org eklenti deposunda ücretsiz olarak kullanılabilen ve Sıkıştırılmış Emoji eklentisini yükleyerek elde edilebilir .

Eklenti etkinleştirildiğinde, sıkıştırma emoji başına 3kb ~ 1.3kb (kabaca% 60) aralığında tasarruf sağlar.

Kaynak: WPTavern

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.