WordPress 默认的22个表情不够用?

你有过这样的小烦恼吗?用 WP-Grins 之类的表情插件时感觉 WordPress 自带的22个默认表情太少了,不能表达你丰富的情感;或者因为评论框太宽了,以至于22个默认表情没有分散对齐,一边倒,不协调;又或者 WordPress 默认的表情太古板,想换一套?

首先声明,本文的方法是基于 WordPress 非插件调用表情符,还没有搞明白的朋友可以先去看个究竟。如果是用 WP-Grins 之类表情插件的朋友就需要自己适当修改了,不过原理都是一样的,很容易明白。

1、上传/更换表情图片:

WordPress 默认的表情被存放在/wp-includes/images/smilies 目录下,其中就有22个 gif 格式的默认表情图片,可以全套更换之(不要随意改变图片的文件名),也可以适当添加你喜欢的表情图片,将新的表情图片命名为 smile_1.gif、smile_2.gif、smile_3.gif…… 点此打包下载我的22个表情图片

2、修改 WordPress 关于调用表情的相关函数:

WordPress 的默认表情函数被存放在 /wp-includes/functions.php 文件中,大约在2601行开始,是定义表情相关的函数,我们会看到类似这样的定义方式:

':mrgreen:' => 'icon_mrgreen.gif',
':neutral:' => 'icon_neutral.gif',
':twisted:' => 'icon_twisted.gif',

我不是很懂 PHP,不过这些代码并不难理解,就是表情符与表情图片的文件名一一相对应。那就依样画葫芦,我们可以添加以下新表情代码:

':smile_1:' => 'smile_1.gif',
':smile_2:' => 'smile_2.gif',
':smile_3:' => 'smile_3.gif',

3、最后在 smiley.php 文件中添加对新表情图片的调用:

在文件中看到以下类似的代码:

<a href="javascript:grin(':mrgreen:')"><img src="/wp-includes/images/smilies/icon_mrgreen.gif" alt="" /></a>
<a href="javascript:grin(':neutral:')"><img src="/wp-includes/images/smilies/icon_neutral.gif" alt="" /></a>
<a href="javascript:grin(':twisted:')"><img src="/wp-includes/images/smilies/icon_twisted.gif" alt="" /></a>

我们同样再依样画葫芦,把对新表情的调用添加进去:

<a href="javascript:grin(':smile_1:')"><img src="/wp-includes/images/smilies/smile_1.gif" alt="" /></a>
<a href="javascript:grin(':smile_2:')"><img src="/wp-includes/images/smilies/smile_2.gif" alt="" /></a>
<a href="javascript:grin(':smile_3:')"><img src="/wp-includes/images/smilies/smile_3.gif" alt="" /></a>

没有时间再给主题一次一次地做大手术,只能小打小闹小折腾,算不上技术,但也算原创,童鞋们就凑合着看吧。

  1. WordPress 的默认表情函数被存放在 /wp-includes/functions.php 文件中,大约在2601行开始,是定义表情相关的函数,我们会看到类似这样的定义方式:

    ':mrgreen:' => 'icon_mrgreen.gif',
    ':neutral:' => 'icon_neutral.gif',
    ':twisted:' => 'icon_twisted.gif',:

    愣是没找到这文件 :cry:

  2. Pingback: 为Wordpres添加更多表情 | Fanr

  3. Pingback: X1 主题发布 | 学编程

  4. 今天更新我的WP的时候校内表情弄了,无奈又自己改了下,后来想到你这里说要改smiley.php ,找了半天才发现原来是主题内对表情的调用。。。汗一个,我的就没smiley.php 呵呵

    • 这是一个问题,不过我对WP源码已经改的太多,也不在乎多改一个了,呵呵
      这就是为什么我一直拖着不升到2.8.5的原因,太麻烦~