第一步,在主题的 functions.php 里添加如下代码,更改默认的表情包路径,这样即使 WordPress 升级,自定义的表情包不会被覆盖掉:
//评论表情路径
add_filter('smilies_src','custom_smilies_src',1,10);
function custom_smilies_src ($img_src, $img, $siteurl){
return get_bloginfo('template_directory').'/smiley/'.$img;
}
第二步,将下面的代码另存为 smiley.php, 并上传到主题目录里。如主题名为 news, 则路径应为 youdomain.com/wp-content/themes/news/smiley.php。
<script type="text/javascript">
/* <![CDATA[ */
function grin(tag) {
var myField;
tag = ' ' + tag + ' ';
if (document.getElementById('comment') && document.getElementById('comment').type == 'textarea') {
myField = document.getElementById('comment');
} else {
return false;
}
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = tag;
myField.focus();
}
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
var cursorPos = endPos;
myField.value = myField.value.substring(0, startPos)
+ tag
+ myField.value.substring(endPos, myField.value.length);
cursorPos += tag.length;
myField.focus();
myField.selectionStart = cursorPos;
myField.selectionEnd = cursorPos;
}
else {
myField.value += tag;
myField.focus();
}
}
/* ]]> */
</script>
<a href="javascript:grin(':?:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_question.gif" alt="" /></a>
<a href="javascript:grin(':razz:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_razz.gif" alt="" /></a>
<a href="javascript:grin(':sad:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_sad.gif" alt="" /></a>
<a href="javascript:grin(':smile:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_smile.gif" alt="" /></a>
<a href="javascript:grin(':oops:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_redface.gif" alt="" /></a>
<a href="javascript:grin(':grin:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_biggrin.gif" alt="" /></a>
<a href="javascript:grin(':eek:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_surprised.gif" alt="" /></a>
<a href="javascript:grin(':shock:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_eek.gif" alt="" /></a>
<a href="javascript:grin(':???:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_confused.gif" alt="" /></a>
<a href="javascript:grin(':cool:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_cool.gif" alt="" /></a>
<a href="javascript:grin(':lol:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_lol.gif" alt="" /></a>
<a href="javascript:grin(':mad:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_mad.gif" alt="" /></a>
<a href="javascript:grin(':roll:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_rolleyes.gif" alt="" /></a>
<a href="javascript:grin(':wink:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_wink.gif" alt="" /></a>
<a href="javascript:grin(':neutral:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_neutral.gif" alt="" /></a>
<a href="javascript:grin(':cry:')"><img src="<?php bloginfo('template_directory'); ?>/smiley/icon_cry.gif" alt="" /></a>
<br />
第三步,在 comments.php 里合适的位置调用以下函数:
<?php include(TEMPLATEPATH . '/smiley.php'); ?>
第四步,把新的表情包文件夹命名为 smiley 并上传到主题目录里。如主题名为 news, 其路径应为 yourdomain.com/wp-content/themes/news/smiley. 如想使用其他文件夹名,或想把 smiley 放到 images 文件夹中,则需修改第一步以及 smiley.php 里的图片路径。
这些代码均来自威言威语,原页面在这里,同时还提供打包好的 smiley.php 和一套表情下载。

还没有评论