禁止/移除 WordPress 4.2 中前台自动加载的 emjo 脚本

2015-08-02 wordpress教程
  • 文章介绍
  • 快速入门
  • 评价&建议
emojiscreenshot

如果你更新了WordPress 最新版本的4.2 版本,查看网页源代码你会发现WordPress 会自动在加载一段用于支持emjo 表情的脚本(JS+CSS),对于大部分人来说,这个是十分鸡肋的功能,反而影响加载速度。

原因分析:

脚本就是类似下面的代码:

  1. <script type="text/javascript">
  2. 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"}};
  3. !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);
  4. </script>
  5. <style type="text/css">
  6. img.wp-smiley,
  7. img.emoji {
  8. display: inline !important;
  9. border: none !important;
  10. box-shadow: none !important;
  11. height: 1em !important;
  12. width: 1em !important;
  13. margin: 0 .07em !important;
  14. vertical-align: -0.1em !important;
  15. background: none !important;
  16. padding: 0 !important;
  17. }
  18. </style>

代码就不过多解读了。因为WordPress 更新4.2 的一个新增功能就是支持emjo 表情,但看部分加载源居然是wp.org的js 文件(wp.org 有被墙否?)对于大部分人来说,这个是十分鸡肋的功能。

去除/删除/禁止方法:

要禁止WordPress 在前台自动加载这段脚本,可以用以下方法:

1)插件法

安装 Disable Emojis 插件:https://wordpress.org/plugins/disable-emojis/

2)代码法

直接添加下面的代码到主题的functions.php 文件,代码其实就是来源上面的插件:

  1. /**
  2. * Disable the emoji's
  3. */
  4. function disable_emojis() {
  5. remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
  6. remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
  7. remove_action( 'wp_print_styles', 'print_emoji_styles' );
  8. remove_action( 'admin_print_styles', 'print_emoji_styles' );
  9. remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
  10. remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
  11. remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
  12. add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
  13. }
  14. add_action( 'init', 'disable_emojis' );
  15. /**
  16. * Filter function used to remove the tinymce emoji plugin.
  17. */
  18. function disable_emojis_tinymce( $plugins ) {
  19. return array_diff$pluginsarray( 'wpemoji' ) );
  20. }

声明:

本文章转自:DeveWork (转载此文章仅为学习交流只用,如有异议请联系本站删除,谢谢!)

0 0

企业建站推荐正版商业主题,国内专业团队开发,完善售后,是您不二选择。

正版主题商店

主题猫WP建站,累计帮助1300+客户成功建站,为站长提供支持!

立刻开启你的建站之旅
QQ在线客服

服务热线

wordpress建站咨询