原文链接[http://kn007.net/topics/wordpress-4-2-disable-emoji-support/\](http://kn007.net/topics/wordpress-4-2-disable-emoji-support/) 禁用Emoji表情的代码如下(直接放进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.
*
* @param array $plugins
* @return array Difference betwen the two arrays
*/
function disable_emojis_tinymce( $plugins ) {
return array_diff( $plugins, array( ‘wpemoji’ ) );
}
function smilies_reset() {
global $wpsmiliestrans, $wp_smiliessearch;

// don’t bother setting up smilies if they are disabled
if ( !get_option( ‘use_smilies’ ) )
return;

$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',
// This one transformation breaks regular text with frequency.
//     '8)' => 'icon_cool.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',
);

}
smilies_reset();

最后,想补充的是,Wordpress 4.2修改了translate_smiley函数。使得输出的表情带样式(style),具体为style=”height: 1em; max-height: 1em;”。 这可能会对我们的表情产生影响(我的是被压扁了),因为这个函数本身没有过滤器,所以无法添加过滤,对输出再解码也影响性能,只能修改源文件,来达到目的。具体位置在/wp-includes/formatting.php的第2114行(WP 4.2.3为2185行,4.2.4为2217行,4.3为2303行)。如下:

return sprintf( ‘%s‘, esc_url( $src_url ), esc_attr( $smiley ) );

修改为:

return sprintf( ‘%s‘, esc_url( $src_url ), esc_attr( $smiley ) );

其实就是删除这个样式。这样就不会对我们现有的表情产生任何影响了。 感谢World和大发。感谢Wordpress的勤劳更新。