为原生comment_form添加表情

若主题的 comment form 是重写的,那么添加表情的方法可以参考这个

在 WP 3中,系统提供了 comment_form() 这个函数来生成评论框以免重复开发。如果使用这个来生成评论框,那么不能直接在对应源码中添加代码的方式来添加表情。

在这种情况下,可以用下面的方法来添加表情:

首先参照以上的方法的步骤1,然后在functions.php中添加以下代码:

function add_smilies_to_form(){
    include(TEMPLATEPATH . '/smiley.php');
}
//下面之所以区别对待,是因为默认情况下用户登录与否comment_form有所不同
if (is_user_logged_in()) {//用户登录情况下,加到登录信息下面(留言框顶部)
    add_filter('comment_form_logged_in_after', 'add_smilies_to_form');
}
else { //非登录情况下,加到fields下(留言框顶部)
    add_filter( 'comment_form_after_fields', 'add_smilies_to_form');
}

如无意外,这样即可。

39条评论

    1. @dengmin, 发现你刚才的邮箱输错了,gmail少了个g;我直接在评论里改了;
      至于居然要翻,我表示很淡定。我应该没做过什么上达天听的事,至于同IP有没有,不知道;也有可能是他们直接看不起在外IP 😎

    1. @dengmin, 有可能是缓存的问题,可能需要刷几下,我这边正常。(我以前在别人的一个博客中也遇到这样的问题,开始去留言时,别人回复后,刷新好多次后才看到;不过后来没出现过了)

    1. @Code之行人, 我也不是常用,不过,有时一个表情会增色不少

    1. @QiQiBoY, 嗯,我知道,因为对主题作了挪挪移移导致的,不过好像不影响使用,我也就一直没去理它。

    1. @第六空间, 嗯,插件也有插件的好处

    1. @先看看, 基本的就够了,太多就乱了

    1. @Pavel, 看习惯吧,插件也有插件的好处

  1. :mrgreen: 一直不想弄表情,搞的很花哨。。。 😀 咱的博客喜欢干净,清爽,于是什么都没有……什么也不会有 🙄

    1. @人好哇!, 你这句一共用了3个表情,o(╯□╰)o

    1. @lee, 我到还没找到直接放到评论框(textarea)下面的,不过,倒有一个放到整个comment_form下面的(嗯,看起来不美观),代码如下:
      add_filter( ‘comment_form’, ‘add_smilies_to_form’);

  2. 这个方法不错,总觉得这个函数自定义起来真麻烦 😯
    顺便询问下博主,如何在”发表评论”后+(ctrl+enter)字样呢,因为我的主题采用的是comment_form() 函数,不是重写的,以前使用过的主题是重新创建的还能知道如何修改,现在雾水了
    而且Ajax回复效果也一直无法使用成功 🙁
    抱歉一下子问了这么多

    1. 因为 Ctrl + Enter 快捷回复功能需要JavaScript 的支持,所以提交按钮上的字样我是使用 JS 动态添加的,不是直接写在 PHP 源码中。
      我看了一下,你已经加载了jQuery,所以,可直接将以下代码写在你的JS文件中

      jQuery(document).ready(function() {('#submit').val($('#submit').val() + "(Ctrl + Enter)");
      });

      至于Ajax回复,我使用的是Willin的代码,基本是可以直接用的,不知道你是如何实现的

评论已关闭。