DeveWork

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

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

原因分析

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



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

去除/删除/禁止方法

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

1)插件法

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

2)代码法

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

/**
* Disable the emoji's
*/
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' );

/**
* Filter function used to remove the tinymce emoji plugin.
*/
function disable_emojis_tinymce( $plugins ) {
return array_diff( $plugins, array( 'wpemoji' ) );
}