小心爱与不爱之间 离得不是太远

WordPress评论表情

技术文档 54222浏览 0评论

一、启用表情功能

WordPress支持将特定符号自动转换为表情图片,无需插件支持。要使用Wordpress表情功能,首先需要先设置 WordPress 选项,启用表情功能,步骤如下:

1、进入Wordpress管理后台
2、点击:设置 -> 撰写
3、选中选择框“自动将:-)和:-P等表情符号转换成图片显示”
4、保存……

那么在撰写文章和发布评论的时候,即可以显示相应的表情了。

二、改造表情功能

比较杯具的是WordPress自带的表情只有22个,而且都比较丑陋的说。伟大的网友们就不太喜欢了,纷纷对这个表情进行了改造,使之更强大、更美观。主要有如下一些方法:

1、使用插件的形式,这个比较多,而且由于我没试验过,不发表意见。

2、通过非插件的实行实现,我用过的主要有两种,仅供参考:

(1)万戈:WordPress 非插件调用表情符

          西门:完美实现WordPress评论表情

(2)在loosky皮肤中的实现形式,具体代码可以翻翻app/smilies.php中的代码,大概思路是直接读取表情文件,然后自动相应的调用代码。比起JS的实现形式应该是更加简单、明了。

三、自定义 WordPress 表情路径
按照上面非插件的形式实现了评论表情的功能后,你会发现评论的时候输入框那里显示的是你改造后的表情,而在评论之后,内容那里又是显示的WordPress自带的表情。如果你覆盖了WordPress自带的表情,那么每次升级之后,你又要重新进行一次覆盖,坦白讲这样做很麻烦。

比较合理的做法就是你将自定义的表情图片放到你的主题目录下面,然后重新定义WordPress的表情路径,这样就不会出现上述的问题了。

实现方法:在你主题的functions.php中添加如下代码

add_filter('smilies_src','custom_smilies_src',1,10);
function custom_smilies_src ($img_src, $img, $siteurl){
    return get_bloginfo('template_directory').'/img/smilies/'.$img;
}

需要注意的是你的表情图片所在的路径,我的是在主题下面的img/smilies文件夹下。

四、显示表情图片

你可能会发现在你的侧边栏的调用中(或者其他的地方,比如发送的邮件通知中)只能显示表情的符号,如::mad: 等,而不能显示相应的图片。那么你需要用到convert_smilies() 函数,其功能如下:

说明:将文本中的表情符号转换为表情图像。只在选项 'use_smilies' 为 true,且函数中的全局变量不为空时转换表情符号。
用法:<?php convert_smilies( $text ) ?>
参数:$text(字符串)(必需)需要转换表情符号的内容,默认值:None。
返回的值:(字符串)将表情转换为图像之后的文本。
用法:$wp_smiliessearch, $wp_smiliesreplace是替代表情符号的数组
使用全局变量:(数组) $wp_smiliessearch
使用全局变量:(数组)$wp_smiliesreplace
源文件:convert_smilies()位于 wp-includes/formatting.php.中。

所以要显示表情图片,你只要在评论的输出前用 convert_smilies() 函数将带有表情符号的内容转化为图片就可以了。

五、WordPress新增评论表情的显示 

WordPress默认的评论表情是22个,如果你的主题中新增了部分表情,如小站plaed的评论表情就有31个,多出来的那九个在选择了以后,显示的都是类似于::see:、:gl:、:ymy:这样的符号而不是图片表情了。

具体解决办法参考:http://loosky.net/?p=1843

转载请注明:自由的风 » WordPress评论表情

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. :idea: 请问博主,我在使用你的方法替换掉默认表情后,发现点击表情栏上的表情发表评论后不会自动转换为表情图片,而是显示代码,我怀疑是那个函数的问题,但是不知道在哪个文件进行修改。 :?:

    猎人2012-08-20 01:13 回复