問題描述
所以 WP 4.2 引入了 emojis(笑臉),它基本上新增了 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' );
我們將需要以下過濾功能來停用 TinyMCE emojicons:
function disable_emojicons_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}
現在我們呼吸,假裝這個功能從來沒有新增到核心… 特別是在解決了大量的 bug 的時候,yet 被實現。
這可以作為一個外掛 Disable Emojis 。
或者,您可以使用 Classic Smilies 將以前版本的 WordPress 的原始版本替換為表情符號。
Update
我們也可以透過在過濾器 emoji_svg_url 上返回 false 來刪除 DNS 預取 (感謝 @yobddigi):
add_filter( 'emoji_svg_url', '__return_false' );
次佳解決方案
如果你想停用這個更好的解決方案:使用一個外掛。
與克里斯汀的評論相同的程式碼:https://wordpress.org/plugins/disable-emojis/
相同的程式碼,也修復了表情符號是舊的: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' );
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。