iEdon 最近非常高兴地升级了 WordPress 4.2,本以为和往常一样没有什么特别的,无非就是些修修补补。
没想到这一升级,就出现了各种 500 错误,然后发现打开博客变慢了,Chrome 一直显示正在建立加密连接。iEdon 感到非常奇怪,加密服务器除了百度统计、七牛缓存也没有什么会拖慢速度的,于是 F12 进行调查,发现系统正在加载 wp.com 的东西,这T.M被和.谐的东西怎么可能会被打开呢?
于是手贱开启了网页源,我去!插入了一坨 WP 自带的头信息。但是,iEdonX 主题已经将大多数不必要的 HTTP 删除了,怎么还是会出现问题呢?原来,新版 WordPress 4.2 版本引入了新的表情系统 —— 颜文字表情(也就是我们QQ上用烂了的 Emoji)。这样一来,非但没有多大用处,而且网页加载缓慢,评论表情无法显示,于是赶快参照大神的方法,增减钩子,和.谐之。
关闭颜文字的办法:
代码参照自 9sep.org:
<?php function disable_emoji_tinymce( $plugins ) { return array_diff( $plugins, array( 'wpemoji' ) ); } function remove_emoji() { 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_emoji_tinymce' ); } add_action( 'init', 'remove_emoji' ); ?>
接下来世界安静了,可是问题又来了,评论中的表情变成了可爱的小“口口” = =,于是继续和.谐:
恢复原有表情系统:
只要在主题的 functions.php 中加入如下代码就可以了:
<?php function smilies_initx() { global $wpsmiliestrans, $wp_smiliessearch; if ( !get_option( 'use_smilies' ) ) return; if ( !isset( $wpsmiliestrans ) ) { $wpsmiliestrans = array( ':mrgreen:' => 'icon_mrgreen.gif', ':neutral:' => 'icon_neutral.gif', ':twisted:' => 'icon_twisted.gif', ':arrow:' => 'icon_arrow.gif', ':shock:' => 'icon_eek.gif', ':smile:' => 'icon_smile.gif', ':???:' => 'icon_confused.gif', ':cool:' => 'icon_cool.gif', ':evil:' => 'icon_evil.gif', ':grin:' => 'icon_biggrin.gif', ':idea:' => 'icon_idea.gif', ':oops:' => 'icon_redface.gif', ':razz:' => 'icon_razz.gif', ':roll:' => 'icon_rolleyes.gif', ':wink:' => 'icon_wink.gif', ':cry:' => 'icon_cry.gif', ':eek:' => 'icon_surprised.gif', ':lol:' => 'icon_lol.gif', ':mad:' => 'icon_mad.gif', ':sad:' => 'icon_sad.gif', '8-)' => 'icon_cool.gif', '8-O' => 'icon_eek.gif', ':-(' => 'icon_sad.gif', ':-)' => 'icon_smile.gif', ':-?' => 'icon_confused.gif', ':-D' => 'icon_biggrin.gif', ':-P' => 'icon_razz.gif', ':-o' => 'icon_surprised.gif', ':-x' => 'icon_mad.gif', ':-|' => 'icon_neutral.gif', ';-)' => 'icon_wink.gif', '8O' => 'icon_eek.gif', ':(' => 'icon_sad.gif', ':)' => 'icon_smile.gif', ':?' => 'icon_confused.gif', ':D' => 'icon_biggrin.gif', ':P' => 'icon_razz.gif', ':o' => 'icon_surprised.gif', ':x' => 'icon_mad.gif', ':|' => 'icon_neutral.gif', ';)' => 'icon_wink.gif', ':!:' => 'icon_exclaim.gif', ':?:' => 'icon_question.gif', ); } if (count($wpsmiliestrans) == 0) { return; } krsort($wpsmiliestrans); $spaces = wp_spaces_regexp(); $wp_smiliessearch = '/(?<=' . $spaces . '|^)'; $subchar = ''; foreach ( (array) $wpsmiliestrans as $smiley => $img ) { $firstchar = substr($smiley, 0, 1); $rest = substr($smiley, 1); if ($firstchar != $subchar) { if ($subchar != '') { $wp_smiliessearch .= ')(?=' . $spaces . '|$)'; // End previous "subpattern" $wp_smiliessearch .= '|(?<=' . $spaces . '|^)'; // Begin another "subpattern" } $subchar = $firstchar; $wp_smiliessearch .= preg_quote($firstchar, '/') . '(?:'; } else { $wp_smiliessearch .= '|'; } $wp_smiliessearch .= preg_quote($rest, '/'); } $wp_smiliessearch .= ')(?=' . $spaces . '|$)/m'; } remove_action('init', 'smilies_init', 5); add_action( 'init' , 'smilies_initx' , 5 ); ?>
总结一下,建议还是暂时不要升级 WordPress 4.2 版本吧,目前开来也有较多问题。说不定颜文字系统后续还会有优化。不过就目前而言,颜文字表情系统对国人来说用处一点都不大,所以升级了版本就把上述代码加进去,免得大姨妈。
Leave a Reply