修复WordPress4.2更新后主题表情不显示

加载WordPress4.2版本之前的主题默认表情补丁

wordpress更新至4.2后,文章、评论中的表情无法显示?

解决办法·使用WordPress4.2 Emoji补丁代码如下,加入到你wordpress主题目录的functions.php文件中,放最后就行:

  1. <?php
  2. function smilies_initx() {
  3.  global $wpsmiliestrans$wp_smiliessearch;
  4.  if ( !get_option( ‘use_smilies’ ) )
  5.  return;
  6.  if ( !isset( $wpsmiliestrans ) ) {
  7.  $wpsmiliestrans = array(
  8.  ‘:mrgreen:’ => ‘icon_mrgreen.gif’,
  9.  ‘:neutral:’ => ‘icon_neutral.gif’,
  10.  ‘:twisted:’ => ‘icon_twisted.gif’,
  11.  ‘:arrow:’ => ‘icon_arrow.gif’,
  12.  ‘:shock:’ => ‘icon_eek.gif’,
  13.  ‘:smile:’ => ‘icon_smile.gif’,
  14.  ‘:???:’ => ‘icon_confused.gif’,
  15.  ‘:cool:’ => ‘icon_cool.gif’,
  16.  ‘:evil:’ => ‘icon_evil.gif’,
  17.  ‘:grin:’ => ‘icon_biggrin.gif’,
  18.  ‘:idea:’ => ‘icon_idea.gif’,
  19.  ‘:oops:’ => ‘icon_redface.gif’,
  20.  ‘:razz:’ => ‘icon_razz.gif’,
  21.  ‘:roll:’ => ‘icon_rolleyes.gif’,
  22.  ‘:wink:’ => ‘icon_wink.gif’,
  23.  ‘:cry:’ => ‘icon_cry.gif’,
  24.  ‘:eek:’ => ‘icon_surprised.gif’,
  25.  ‘:lol:’ => ‘icon_lol.gif’,
  26.  ‘:mad:’ => ‘icon_mad.gif’,
  27.  ‘:sad:’ => ‘icon_sad.gif’,
  28.  ‘8-)’ => ‘icon_cool.gif’,
  29.  ‘8-O’ => ‘icon_eek.gif’,
  30.  ‘:-(‘ => ‘icon_sad.gif’,
  31.  ‘:-)’ => ‘icon_smile.gif’,
  32.  ‘:-?’ => ‘icon_confused.gif’,
  33.  ‘:-D’ => ‘icon_biggrin.gif’,
  34.  ‘:-P’ => ‘icon_razz.gif’,
  35.  ‘:-o’ => ‘icon_surprised.gif’,
  36.  ‘:-x’ => ‘icon_mad.gif’,
  37.  ‘:-|’ => ‘icon_neutral.gif’,
  38.  ‘;-)’ => ‘icon_wink.gif’,
  39.  ‘8O’ => ‘icon_eek.gif’,
  40.  ‘:(‘ => ‘icon_sad.gif’,
  41.  ‘:)’ => ‘icon_smile.gif’,
  42.  ‘:?’ => ‘icon_confused.gif’,
  43.  ‘:D’ => ‘icon_biggrin.gif’,
  44.  ‘:P’ => ‘icon_razz.gif’,
  45.  ‘:o’ => ‘icon_surprised.gif’,
  46.  ‘:x’ => ‘icon_mad.gif’,
  47.  ‘:|’ => ‘icon_neutral.gif’,
  48.  ‘;)’ => ‘icon_wink.gif’,
  49.  ‘:!:’ => ‘icon_exclaim.gif’,
  50.  ‘:?:’ => ‘icon_question.gif’,
  51.  );
  52.  }
  53.  if (count($wpsmiliestrans) == 0) {
  54.  return;
  55.  }
  56.  krsort($wpsmiliestrans);
  57.  $spaces = wp_spaces_regexp();
  58.  $wp_smiliessearch = ‘/(?<=’ . $spaces . ‘|^)’;
  59.  $subchar = ;
  60.  foreach ( (array$wpsmiliestrans as $smiley => $img ) {
  61.  $firstchar = substr($smiley, 0, 1);
  62.  $rest = substr($smiley, 1);
  63.  if ($firstchar != $subchar) {
  64.  if ($subchar != ) {
  65.  $wp_smiliessearch .= ‘)(?=’ . $spaces . ‘|$)’; // End previous “subpattern”
  66.  $wp_smiliessearch .= ‘|(?<=’ . $spaces . ‘|^)’; // Begin another “subpattern”
  67.  }
  68.  $subchar = $firstchar;
  69.  $wp_smiliessearch .= preg_quote($firstchar, ‘/’) . ‘(?:’;
  70.  } else {
  71.  $wp_smiliessearch .= ‘|’;
  72.  }
  73.  $wp_smiliessearch .= preg_quote($rest, ‘/’);
  74.  }
  75.  $wp_smiliessearch .= ‘)(?=’ . $spaces . ‘|$)/m’;
  76. }
  77. remove_action(‘init’, ‘smilies_init’, 5);
  78. add_action( ‘init’ , ‘smilies_initx’ , 5 );
  79. ?>

关于恢复自定义表情后样式变小的解决办法

WordPress4.2版本wp-includes\formatting.php文件第2085行的translate_smiley函数。在注解/版本号基本(只是4.2版本注解少了两个单引号而已)没变的情况下强行(这货函数没有直接提供钩子)为表情加了element.style{height: 1em; max-height: 1em;}这感觉就是不给使用多年的默认表情一点活路死命要推广颜文字的节奏。

解决办法:

1、打开wp-includes\formatting.php文件,搜索 img.wp-smiley 将以下部分注释,大致在4322行

  1. <!–<style type=“text/css”>
  2. img.wp-smiley,
  3. img.emoji {
  4.     display: inline !important;
  5.     border: none !important;
  6.     box-shadow: none !important;
  7.     height: 1em !important;
  8.     width: 1em !important;
  9.     margin: 0 .07em !important;
  10.     vertical-align: -0.1em !important;
  11.     background: none !important;
  12.     padding: 0 !important;
  13. }
  14. </style>–>

2、在找到你主题的css文件,style.css,加入以下代码

  1. .wp-smiley{height: 100% !important;max-height: 100% !important;}

原创文章,作者:wwh,如若转载,请注明出处:https://www.wuwenhui.cn/3600.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
wwhwwh
上一篇 2015-12-03
下一篇 2015-12-07

相关推荐

发表回复

登录后才能评论

评论列表(2条)

  • Han
    Han 2015-12-11 15:33

    不错的方法,已经用上了

  • Paul
    Paul 2020-08-07 16:39

    测试一下。我的也不显示了 :razz:

联系我们

在线咨询:点击这里给我发消息

站长邮箱:admin@wuwenhui.cn
工作时间:周一至周五,8:30-17:30,节假日休息

微信
本站支持QQ一键注册登录,所有资源下载均在文章底部~