如果你更新了WordPress 最新版本的4.2 版本,查看網頁源代碼你會發現WordPress 會自動在加載一段用于支持emjo 表情的腳本(JS+CSS),對于大部分人來說,這個是十分雞肋的功能,反而影響加載速度。
原因分析:
腳本就是類似下面的代碼:
- <script?type="text/javascript">
- window._wpemojiSettings?=?{"baseUrl":"http://s.w.org/images/core/emoji/72x72/","ext":".png","source":{"concatemoji":"http://devework.com/wp-includes/js/wp-emoji-release.min.js?ver=4.2"}};
- !function(a,b,c){function?d(a){var?c=b.createElement("canvas"),d=c.getContext&&c.getContext("2d");return?d&&d.fillText?(d.textBaseline="top",d.font="600?32px?Arial","flag"===a?(d.fillText(String.fromCharCode(55356,56812,55356,56807),0,0),c.toDataURL().length>3e3):(d.fillText(String.fromCharCode(55357,56835),0,0),0!==d.getImageData(16,16,1,1).data[0])):!1}function?e(a){var?c=b.createElement("script");c.src=a,c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var?f;c.supports={simple:d("simple"),flag:d("flag")},c.supports.simple&&c.supports.flag||(f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);
- </script>
- <style?type="text/css">
- img.wp-smiley,
- img.emoji?{
- display:?inline?!important;
- border:?none?!important;
- box-shadow:?none?!important;
- height:?1em?!important;
- width:?1em?!important;
- margin:?0?.07em?!important;
- vertical-align:?-0.1em?!important;
- background:?none?!important;
- padding:?0?!important;
- }
- </style>
代碼就不過多解讀了。因為WordPress 更新4.2 的一個新增功能就是支持emjo 表情,但看部分加載源居然是wp.org的js 文件(wp.org 有被墻否?)對于大部分人來說,這個是十分雞肋的功能。
去除/刪除/禁止方法:
要禁止WordPress 在前臺自動加載這段腳本,可以用以下方法:
1)插件法
安裝 Disable Emojis 插件:https://wordpress.org/plugins/disable-emojis/
2)代碼法
直接添加下面的代碼到主題的functions.php 文件,代碼其實就是來源上面的插件:
- function?disable_emojis()?{
- 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_action(?'admin_print_styles',?'print_emoji_styles'?);
- remove_filter(?'the_content_feed',?'wp_staticize_emoji'?);
- remove_filter(?'comment_text_rss',?'wp_staticize_emoji'?);
- remove_filter(?'wp_mail',?'wp_staticize_emoji_for_email'?);
- add_filter(?'tiny_mce_plugins',?'disable_emojis_tinymce'?);
- }
- add_action(?'init',?'disable_emojis'?);
- function?disable_emojis_tinymce(?$plugins?)?{
- return?array_diff(?$plugins,?array(?'wpemoji'?)?);
- }
聲明:
本文章轉自:DeveWork (轉載此文章僅為學習交流只用,如有異議請聯系本站刪除,謝謝!)