ดังนั้น WP 4.2 แนะนำ emojis (smileys) ที่เพิ่ม JS และขยะอื่น ๆ ลงบนหน้าเว็บของคุณ บางสิ่งบางคนอาจพบว่าตกตะลึง ใครจะลบกรณีนี้ทั้งหมดได้อย่างสมบูรณ์?
ดังนั้น WP 4.2 แนะนำ emojis (smileys) ที่เพิ่ม JS และขยะอื่น ๆ ลงบนหน้าเว็บของคุณ บางสิ่งบางคนอาจพบว่าตกตะลึง ใครจะลบกรณีนี้ทั้งหมดได้อย่างสมบูรณ์?
คำตอบ:
เราจะขอinit
และลบการกระทำดังต่อไปนี้:
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' );
เราจะต้องใช้ฟังก์ชันตัวกรองต่อไปนี้เพื่อปิดใช้งาน emojicons TinyMCE:
function disable_emojicons_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}
ตอนนี้เราสูดดมและแกล้งทำเป็นว่าคุณสมบัตินี้ไม่เคยถูกเพิ่มเข้าไปในแกนหลัก ... โดยเฉพาะอย่างยิ่งในขณะที่ข้อบกพร่องที่ได้รับการแก้ไขจำนวนมากยังไม่ได้ถูกนำมาใช้
นี้สามารถใช้ได้เป็นปลั๊กอินปิดการใช้งาน Emojis
หรือคุณสามารถแทนที่รอยยิ้มกับรุ่นเดิมจากรุ่นก่อนหน้าของ WordPress ใช้คลาสสิกรูปรอยยิ้ม
นอกจากนี้เรายังสามารถลบการดึงข้อมูล DNS ล่วงหน้าโดยส่งกลับค่าเท็จในตัวกรองemoji_svg_url
(ขอบคุณ @yobddigi):
add_filter( 'emoji_svg_url', '__return_false' );
Settings -> Writing
แต่มันน่ารำคาญอย่างแน่นอน +1
ทางออกที่ดีกว่าถ้าคุณต้องการปิดการใช้งานนี้: ใช้ปลั๊กอิน
รหัสเดียวกันกับจากความคิดเห็นของ Christine: https://wordpress.org/plugins/disable-emojis/
รหัสเดียวกันกับที่แก้ไข smilies ให้เป็นรุ่นเก่า: https://wordpress.org/plugins/classic-smilies/
ที่มา: ฉันตั้งแต่ฉันเขียนโค้ดนั้นตั้งแต่แรก https://plugins.trac.wordpress.org/changeset/1142480/classic-smilies
นี่เป็นวิธีที่ง่ายในการลบอีโมจิ เพิ่มรหัสร้องให้ของคุณfunction.php
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
หากคุณต้องการที่จะป้องกันไม่ให้ Wordpress จากการแปลงรอยยิ้มโรงเรียน ASCII เก่าของคุณเป็น Unicode อีโมจิ (เช่นโดยอัตโนมัติ;-)
ไป😉
) ในข้อความของคุณทั้งหมดที่คุณอาจต้องการremove_filter('the_content', 'convert_smilies')
(ไม่แน่ใจ 100% ว่าคำถามนี้เกี่ยวกับอะไร แต่การแก้ไขปัญหาของฉันและฉันหวังว่ามันจะมีประโยชน์สำหรับใครบางคน)
ฉันได้ลองใช้รหัสด้านบนแล้ว แต่รหัสเดียวที่ใช้ได้ในตอนท้ายของฉันคือรหัสนี้
อย่าลืมสำรองข้อมูลฟังก์ชั่นของคุณก่อนใช้งานรหัสเหล่านี้
// 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' );
add_action( 'init', 'disable_wp_emojicons', 3 );
ข่าวดีฉันเพิ่มคำขอคุณลักษณะ:
แนะนำตัวเลือกใหม่ให้กับ WordPress WP_EMOICONS ได้ ที่นี่ https://core.trac.wordpress.org/ticket/38252
และเห็นได้ชัดว่าสิ่งนี้ถูกทำเครื่องหมายว่าซ้ำกัน https://core.trac.wordpress.org/ticket/32102 ดังนั้นเราจึงอาจคาดหวังได้ว่า
define( 'WP_EMOICONS', false );
ในรุ่นอนาคตของ WordPress
เนื่องจาก WordPress emoji ให้บริการจาก sworg และไม่ถูกบีบอัดนี่จะมีผลต่อเวลาในการโหลด SVG ขึ้นอยู่กับจำนวน emoji ที่คุณใช้และยังสามารถส่งคำเตือนบนเครื่องมือ PageSpeed Insights ของ Google
ในการแก้ไขปัญหานี้คุณสามารถให้บริการอิโมจิโดยตรงจากไซต์ WordPress ของคุณเองและไม่ต้องทำการโทรภายนอกผ่าน js
สิ่งนี้สามารถทำได้โดยการติดตั้งปลั๊กอินบีบอัด Emojiซึ่งสามารถใช้ได้ฟรีในที่เก็บปลั๊กอิน WordPress.org
เมื่อเปิดใช้งานปลั๊กอินการบีบอัดจะประหยัดได้ในช่วง 3kb ~ 1.3kb (ประมาณ% 60) ต่ออีโมจิ
ที่มา: WPTavern