修复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

相关推荐

  • 找回WordPress3.5中消失的链接管理

    随着WordPress3.5的发布,在后台不停的提示更新后,站长我终于选择了更新。还没有尝试WordPress带来的变化,却发现,原来添加 友情链接位置的“链接”按钮找不到了。随后…

    2013-07-25
    4.7K0
  • wordpress添加返回顶部按钮

    一直都想给WordPress添加一个返回顶部的按钮,我知道可以有这类型的插件,但不想用插件。于是网上查看了一些文章,找到了一个从百度搜索风云榜这里扒出来的JS代码。 1、找到“返回…

    2012-11-16
    51.6K15

发表回复

登录后才能评论

评论列表(2条)

  • Han
    Han 2015-12-11 15:33

    不错的方法,已经用上了

  • Paul
    Paul 2020-08-07 16:39

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

联系我们

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

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

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