解决WordPress加载emoji表情站s.w.org缓慢的问题

WordPress新版升级是相当的快,一晃眼已经是WordPress4.4.1版了。每当打开WordPress站点,你都会感觉到很慢(这当然是指在我们这奇葩的大陆了),这是因为WordPress加载s.w.org网站中的emoji表情造成的。

今天WP零伍写这个教程彻底封杀WordPress加载s.w.org,禁用emoji表情。

如下代码,添加到主题functions.php文件中即可。

/**
 * Disable emoji
 */
function disable_wp05_emoji() {
	remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
	remove_action( 'wp_print_styles', 'print_emoji_styles' );
	remove_action('embed_head', 'print_emoji_detection_script');
	remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
	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_action( 'init', 'disable_wp05_emoji' );

以上代码适合一般用途,如果你觉得文章编辑器(Tinymce)中还有emoji表情不爽,你可以添加如下代码,完全干掉所有emoji表情。

/**
 * Disable emoji
 */
function disable_wp05_emoji() {
	remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
	remove_action( 'wp_print_styles', 'print_emoji_styles' );
	remove_action('embed_head', 'print_emoji_detection_script');
	remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
	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_wp05_emoji' );
/**
 * remove the tinymce emoji plugin.
 */
function disable_emojis_tinymce( $plugins ) {
    if ( is_array( $plugins ) ) {
        return array_diff( $plugins, array( 'wpemoji' ) );
    } else {
        return array();
    }
}

注意:两个代码只能使用其中一个,不能同时使用两个代码哦!

发表评论