• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > wordpress问答 > 如何非插件给wordpress CMS主题添加评论表情

    如何非插件给wordpress CMS主题添加评论表情

    作者: 分类:wordpress问答 点击: 1,668 次
    wordpress CMS主题:ssmay主题

      前段时间,一个使用ssmay主题的客户向我咨询,为什么ssmay主题使用的QQ评论表情没有效果了。以前都是正常使用的,为什么突然没有效果了呢?经查验,发现原来非插件给wordpress主题添加评论表情的方法从wordpress 最新版本中已经失去效果。这个小bug如何解决呢?下面提供解决的方法,前3步跟原方法一样。

      第一步:下载QQ表情包和表情文件。

      下载地址:http://pan.baidu.com/s/1jIMGU6i

      密码:dedh

      里面包括smiley.php表情文件和QQ表情包。

      第二步:wordpress主题加载表情包文件:

      在评论页面(comments.php)合适的位置,引入smiley.php文件

      <?php include(TEMPLATEPATH . '/smiley.php'); ?>

      第三步:把QQ表情包放到wordpress主题图片目录:

      在wordpress主题图片目录images下创建一个新目录smilies,然后把QQ表情包放到这个目录下。

      第四步:修改wordpress主题的表情包引入:

      WordPress从4.3版本之后使用了Emoji表情,原有自定义表情快捷符号无法再自动转换为gif表情图片,所以需要wordpress主题禁用前后台的emoji表情脚本的加载,并修改css文件调整大小。下面这段代码就是对wordpress主题评论表情包的修改引入,把这段代码放到wordpress主题的functions.php文件中:

      // 替换emjo表情修复自定义表情的各种问题
      function disable_emoji($plugins) {
      if (is_array($plugins)) {
      return array_diff($plugins, array('wpemoji'));
      } else {
      return array();
      }
      }
      //取当前主题下images\smilies\下表情图片路径
      function custom_smilie_src($old, $img) {
      return get_stylesheet_directory_uri() . '/images/smilies/' . $img;
      }
      function init_fixsmilie() {
      global $wpsmiliestrans;
      //add_filter('smilies_src','fa_smilies_src',1,10);
      //默认表情文本与表情图片的对应关系(可自定义修改)
      $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',
      );
      //移除WordPress更新所带来的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');
      add_filter('smilies_src', 'custom_smilie_src', 10, 2);
      }
      add_action('init', 'init_fixsmilie', 5);

      通过上面4步,ssmay主题的评论表情就可以正常发布。如果你也碰到类似的问题——wordpress CMS主题的评论表情图片不能正常使用显示,就可以试一下本章的这种方法,相信你会有所收获的。



      QQ二维码

    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201706045327.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    一条回应:“如何非插件给wordpress CMS主题添加评论表情”

    1. steam说道:

      如何非插件给wordpress CMS主题添加评论表情

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.