非插件调用 WordPress 表情

今天又在 Google Reader 上掏到了好东东,看到盒子写了一篇《17行代码为 wordpress 添加评论表情列表》,我马上联想到现在正在用的 Willin 大师的非插件调用 WordPress 表情符的方法,两者实现的效果都是一样的,就是抛弃插件,用代码来实现 WordPress 自带的表情。我比较了一下,盒子的方法居然更精简,效率更高,马上应用到了自己的主题上,并转载方法如下:

将以下代码复制到 comments.php 中合适的位置:

<!--smilies-->       
<?php
function wp_smilies() {
    global $wpsmiliestrans;
    if ( !get_option('use_smilies') or (empty($wpsmiliestrans))) return;
    $smilies = array_unique($wpsmiliestrans);
    $link='';
    foreach ($smilies as $key => $smile) {
        $file = get_bloginfo('wpurl').'/wp-includes/images/smilies/'.$smile;
        $value = " ".$key." ";
        $img = "<img src=\"{$file}\" alt=\"{$smile}\" />";
        $imglink = htmlspecialchars($img);
        $link .= "<a href=\"#commentform\" title=\"{$smile}\" onclick=\"document.getElementById('comment').value += '{$value}'\">{$img}</a>&nbsp;";
    }
    echo '<div class="wp_smilies">'.$link.'</div>';
}
?>
<?php wp_smilies();?>
<!--smilies-->

当然,为了便于管理,你也可以把函数部分放在 functions.php 里,然后在 comments.php 里用<?php wp_smilies(); ?> 来调用。

这里,还要感谢 ThinkAgain 大虾,以上代码提取自他的 wp-smilies 插件。