将 WordPress 中的表情符号转化为图片

长久以来一直困扰着我一个问题,别人的 WordPress 侧边栏中的最新评论都是可以显示表情图片的,而唯独我的最新留言中只是显示图片的代码,会让人感觉很别扭。但幸好不影响到整体美观,而且我又不愿用插件解决这个问题,所以搁置着成了我的心病。不过我一直没有放弃寻求解决的方案,今天在 zwwooooo 的提点下实现了在 WordPress 的侧边栏最新评论中显示表情图片的效果。

问题的关键就在于 convert_smilies() 函数,以下转自 WordPress 啦!关于 convert_smilies() 函数的介绍

  • 说明:将文本中的表情符号转换为表情图像。只在选项 'use_smilies' 为 true,且函数中的全局变量不为空时转换表情符号。
  • 用法:<?php convert_smilies( $text ) ?>
  • 参数:$text(字符串)(必需)需要转换表情符号的内容,默认值:None。返回的值,(字符串)将表情转换为图像之后的文本。

说到这里,稍微有些 PHP 基础的朋友应该已经看明白了,只要在最新评论的输出前用 convert_smilies() 函数将带有表情符号的内容转化为图片就可以了,具体的就根据各位不同的函数操作了。

解决了侧边栏最新留言的表情图片问题,我又突然联想到了评论回复的邮件通知中的表情问题。具我所知,在所有的邮件通知插件中只有 mail to commenter 插件是可以输出评论中的表情图片的,其他插件包括最著名的 wp thread comment,都只能输出表情的代码符号。我曾经为了解决这个问题而特别研究 mail to commenter 插件,未果,今天终于真相大白,原来只需区区一行 convert_smilies() 函数就搞定了。

关于评论回复的邮件通知,我现在并没有用任何插件,而是用 Willin 大师的《Ajax comments 評論回應郵件通知》的方法实现的,不过在他的方法中也是不能输出表情图片的,这是个小小的遗憾。我将 convert_smilies() 函数添加了进去,成功实现了带表情图片的邮件通知,欢迎同学们测试。

以下是对 Willin 大师的 comments-ajax.php 文件的小修改,同样用此方法的童鞋可以照搬:找到变量 $message = (邮件内容);在后面添加一行:$message = convert_smilies($message);

这样就 OK 了,就是如此简单,用 wp thread comment 插件的朋友也可以按照这个方法修改试试,这里不再熬述。

  1. Pingback: WordPress显示表情完全攻略 | Librehat - 自由帽博客

  2. :sad: 我又遇到个问题,就是如果评论截断的话,如果正好把评论字符的一部分截断了,那也显示不出来了,额。。。杯具,去看看我的问题吧,老万 :roll:

  3. 那天用了下wordpress,不习惯。功能是很强大。原来有bo2wp的想法,现在觉得继续bo
    做了个海外转发,www.lokers.cn终于可以打开了,继续等着备案

  4. Pingback: Wordpress 无插件调用表情 | 帅哥:)

  5. 前面的那个隐藏那个评论者信心,我又失败了,侧栏掉下去了,还好我又备份,今天继续捣鼓,可惜你不在线哦!想问下也不知道问谁哦!

  6. 这个小问题我倒是没理会。
    因为图片的高度大于文字大小,会导致行距显示不好
    除非像zww5o的用缩小版表情

    • 那倒确实是个问题哦,还好我的表情不大,不会有行距的问题
      不过你在邮件通知里可以加上表情,是吧~