Nonaktifkan emojicons yang diperkenalkan dengan WP 4.2
135
Jadi WP 4.2 memperkenalkan emoji (smiley) yang pada dasarnya menambahkan JS dan sampah lain di seluruh halaman Anda. Sesuatu yang mungkin mengejutkan beberapa orang. Bagaimana seseorang menghapus semua contoh ini?
Kami akan menghubungkan initdan menghapus tindakan sebagai berikut:
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');
Kita membutuhkan fungsi filter berikut untuk menonaktifkan emojiicon TinyMCE:
Sekarang kami bernafas dan berpura-pura bahwa fitur ini tidak pernah ditambahkan ke inti ... terutama saat banyak bug yang diselesaikan belum diimplementasikan.
Terima kasih! Saya tidak yakin mengapa mereka tidak hanya mengizinkan orang untuk mengaktifkan / menonaktifkan ini, Settings -> Writingtetapi itu jelas menjengkelkan. +1
Howdy_McGee
6
Nantikan plugin "Disable emojicons" Anda di repo atau github ;-)
Terima kasih atas jawabannya! Saya tidak percaya ini adalah bagian dari inti, setidaknya tidak dengan "opt-in" atau cara untuk menonaktifkannya ~ _ ~
phatskat
5
Dan mengejutkan melihat bahwa mereka menambahkan skrip dan gaya senilai 114 baris di header yang bahkan tidak diperkecil. Terima kasih untuk pengaya ...
Debajyoti Das
28
Solusi yang lebih baik jika Anda ingin menonaktifkan ini: gunakan plugin.
Terima kasih ini menghapus kode dengan baik - anehnya halaman saya butuh 2 hingga 3 detik lebih lama untuk memuat dengan ini di functions.php saya daripada tanpa itu.
Steve
Ini harus dijalankan melalui init. Lihat jawaban saya .
Christine Cooper
2
Jika Anda ingin mencegah Wordpress secara otomatis mengkonversi smilies ASCII sekolah lama Anda ke Unicode emoji (seperti ;-)untuk 😉) dalam posting Anda sama sekali, Anda mungkin inginremove_filter('the_content', 'convert_smilies')
(Tidak 100% yakin ini pertanyaannya, tapi ini menyelesaikan masalah saya dan saya harap ini berguna bagi seseorang.)
Apakah Anda benar menguji kode dalam jawaban saya?
Christine Cooper
ya saya sudah mencobanya berkali-kali, situs ada di server cloudflare-nginx
johnhgaspay
Cukup periksa kode saya dua kali dan berfungsi. Ketika Anda menambahkan kode ke file functions.php Anda, coba atur prioritas yang lebih tinggi, seperti ini:add_action( 'init', 'disable_wp_emojicons', 3 );
Sepertinya tiket # 32102 ditutup dengan wontfix . +1 untuk mencoba dan menjadi optimis ;-)
birgire
2
ps: sejauh yang saya mengerti, tiket Anda # 38252 ditutup karena itu adalah duplikat untuk tiket # 32102, yang sebelumnya ditutup sebagai wontfix. Jadi sepertinya plugin harus menyelesaikan masalah ini, untuk beberapa hari yang akan datang ;-) Oleh karena itu
pilihlah
-2
Karena WordPress emoji dilayani dari sworg dan tidak dikompresi, ini memengaruhi waktu pemuatan SVG tergantung pada berapa banyak emoji yang Anda gunakan, dan bahkan dapat membuang peringatan pada alat PageSpeed Insights Google.
Untuk memperbaiki masalah ini, Anda dapat melayani emoji langsung dari situs WordPress Anda sendiri dan tidak dengan membuat panggilan eksternal melalui js.
Ini dapat dicapai dengan menginstal plugin Emoji Terkompresi yang tersedia secara gratis di repositori plugin WordPress.org.
Saat plugin diaktifkan, kompresi menawarkan penghematan dalam kisaran 3kb ~ 1.3kb (sekitar% 60) per emoji.
Jawaban:
Kami akan menghubungkan
init
dan menghapus tindakan sebagai berikut:Kita membutuhkan fungsi filter berikut untuk menonaktifkan emojiicon TinyMCE:
Sekarang kami bernafas dan berpura-pura bahwa fitur ini tidak pernah ditambahkan ke inti ... terutama saat banyak bug yang diselesaikan belum diimplementasikan.
Ini tersedia sebagai plugin, Nonaktifkan Emoji .
Atau, Anda dapat mengganti smilies dengan versi asli dari versi WordPress sebelumnya menggunakan Classic Smilies .
Memperbarui
Kami juga dapat menghapus prefetch DNS dengan mengembalikan false pada filter
emoji_svg_url
(terima kasih @yobddigi):sumber
Settings -> Writing
tetapi itu jelas menjengkelkan. +1Solusi yang lebih baik jika Anda ingin menonaktifkan ini: gunakan plugin.
Kode yang sama dengan komentar Christine: https://wordpress.org/plugins/disable-emojis/
Kode yang sama yang juga memperbaiki smilies menjadi yang lama: https://wordpress.org/plugins/classic-smilies/
Sumber: Saya, sejak saya menulis kode itu sejak awal. https://plugins.trac.wordpress.org/changeset/1142480/classic-smilies
sumber
Ini adalah cara sederhana untuk menghapus emoji. Tambahkan kode di bawah ini ke
function.php
sumber
init
. Lihat jawaban saya .Jika Anda ingin mencegah Wordpress secara otomatis mengkonversi smilies ASCII sekolah lama Anda ke Unicode emoji (seperti
;-)
untuk😉
) dalam posting Anda sama sekali, Anda mungkin inginremove_filter('the_content', 'convert_smilies')
(Tidak 100% yakin ini pertanyaannya, tapi ini menyelesaikan masalah saya dan saya harap ini berguna bagi seseorang.)
sumber
Saya sudah mencoba beberapa kode di atas tetapi satu-satunya kode yang berfungsi pada saya adalah yang ini.
Jangan lupa untuk mencadangkan functions.php Anda sebelum menerapkan kode-kode ini.
sumber
add_action( 'init', 'disable_wp_emojicons', 3 );
Berita bagus, saya menambahkan permintaan fitur:
Perkenalkan opsi baru untuk WordPress WP_EMOICONS di sini https://core.trac.wordpress.org/ticket/38252
dan tampaknya ini telah ditandai sebagai duplikat https://core.trac.wordpress.org/ticket/32102 sehingga kita dapat mengharapkan sesuatu seperti
di rilis WordPress mendatang.
sumber
Karena WordPress emoji dilayani dari sworg dan tidak dikompresi, ini memengaruhi waktu pemuatan SVG tergantung pada berapa banyak emoji yang Anda gunakan, dan bahkan dapat membuang peringatan pada alat PageSpeed Insights Google.
Untuk memperbaiki masalah ini, Anda dapat melayani emoji langsung dari situs WordPress Anda sendiri dan tidak dengan membuat panggilan eksternal melalui js.
Ini dapat dicapai dengan menginstal plugin Emoji Terkompresi yang tersedia secara gratis di repositori plugin WordPress.org.
Saat plugin diaktifkan, kompresi menawarkan penghematan dalam kisaran 3kb ~ 1.3kb (sekitar% 60) per emoji.
Sumber: WPTavern
sumber