最新消息:欢迎加入小松的QQ群一起讨论一起学习,服务器快到期了,新买了台服务器,最近要做服务器迁移

WordPress更新到4.2禁用Emoji表情,修复表情不能正常显示和变形

wordpress 704浏览 0评论

WordPress更新到4.2之后头像一直有问题,也没有及时的修复。主要是留言的人很少用表情,今天想起来要把这个问题修复一下,主要是分3步,都是操作主题下的function.php文件
①禁用emoji’s
主题下的function.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 ) {
  if ( is_array( $plugins ) ) {
    return array_diff( $plugins, array( 'wpemoji' ) );
  } else {
    return array();
  }
}

②重置表情和图片的对应关系
主题下的function.php添加代码

function smilies_reset() {
  global $wpsmiliestrans;

// 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();

我上面的额代码没有添加导致留言里的表情显示有问题,请看下面的图

表情不能正常显示

③去掉表情图片中带的样式

如果没有添加会出现如下变形情况

QQ截图20151111133336
在主题下的function.php中Static_Switch方法中,这个方法之前讲的文章时候已经添加过,添加一行代码,已经写上注释了

ob_start("Static_Switch");
function Static_Switch($buffer){
  $buffer_out = preg_replace('/http:\/\/www.phpsong\.com\/wp-c([^"\']*?)\.(jpg|png|gif|css|js|woff|woff2|ttf|svg|eot|jpeg)/i','http://static.phpsong.com/wp-c$1.$2',$buffer);//静态文件用另一个域名
  $buffer_out=str_replace("static.phpsong.com/avatar/","static.phpsong.com/avatar/",$buffer_out);//头像用另一个域名
  $buffer_out= str_replace( 'class="wp-smiley"', 'class="wp-smiley"', $buffer_out );//去掉表情图片中带的样式
  return $buffer_out;
}

最后检查了一下有没有有问题

QQ交流群:136351212

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» WordPress更新到4.2禁用Emoji表情,修复表情不能正常显示和变形
本文链接地址:https://www.phpsong.com/1604.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!

网友最新评论 (1)

加载中,请稍候...
  1. :mrgreen: 哈哈,测试一下先!
    打s我也不告诉你1年前 (2016-03-29)回复