wordpress CMS主题 微信
Home > wordpress问答 > 如何非插件给wordpress CMS主题添加评论表情

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

高时银博客 wordpress问答 点击: 529 次 1 1

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


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

目前还没有评论。赶快来坐沙发吧。

发表评论