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

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

作者: 分类:wordpress问答 点击: 11,493 次

    前段时间,一个使用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主题的评论表情图片不能正常使用显示,就可以试一下本章的这种方法,相信你会有所收获的。



文章作者:码不停蹄
本文地址:https://wanlimm.com/77201706045327.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

上一篇:
下一篇:

或许你会感兴趣的文章:

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

  1. avatar steam说道:

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

发表评论

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

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