以前也使用过 Ajax Comments reply,Comments Post等。但本身就比较大 另外对默认的主题风格支持也不是很好。Ajax Comments原作者是德国人John Wrana,但从2007-02-09就没有再更新过。后由willin在原有框架下完善。效果请点击这里。
功能:
1. 使用Ajax 异步传输, 评论后不用刷新页面, 即可看到评论内容出现于嵌套之中.
2. 错误侦测也使用Ajax 提示, 出错不必跳转页面.
3. 套用你所使用模板的class 属性.
4. 评论数量即时更新显示.
5. 评论提交成功, 评论框自动回底层.
6. 我另加了”重覆评论” 和”评论太快” 的预检查功能, 因WP 送出评论前可没这两项检查, 它是在送出后才检查的.
7. 刷新页面之前可以再编辑.
下载
Ajax-Comments-1.29.zip (适用于WP2.8-2.9)
Ajax-Comments-1.30.zip (使用新函数 get_post_status_object(),只适用于3.0+)
安装方式:
解压缩后, 将comments-ajax.js 及comments-ajax.php 放在模板所在目录.
在 header.php 找到
<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?> <;?php wp_head(); ?>
替换为
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<?php wp_head(); ?>
<?php if ( is_singular() ){ ?>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/comments-ajax.js"></script>
<?php } ?>
因为comments-ajax.js 已合并了WP 的comment-reply.js, 所以不必再叫用原来的wp_enqueue_script( ‘comment-reply’ )
如果你的模板够标准, 这样就可以正常工作了
如果不能正常工作,请看以下几项。
1. 安装前, 请先确认WordPress 内置嵌套评论已正常运作. 如果不是内置嵌套评论, 会出问题的.
2. 各式模板设计不同, 请检查comments.php 是否够标准, 尽量不修改模板, 只要对应修改本文件, 以免css 乱套.
◎标准模板是指:
“评论数” id=”comments” (WP 3.0 用的是id=”comments-title”)
例: <h3 id=”comments”><?php comments_number( …有%条评论… </h3>
已知有不少模板用的不是”comments”, 它的”comments” 已用到别地方,
如果评论提交后, 评论数位置出现很多源代码, 通常是这问题, 要特别留意!
ps. WP 3.0 用的是id=”comments-title”, 新版我已将”comments” 改”comments-title”,
如果你要用以前的”comments”, 请在comments-ajax.js 第25 行更改.
“评论列表” id=”commentlist”
例: <ol id=”commentlist”> 注意是ol 不是ul.
“表单” id=”commentform”
例: <form action=”<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php” method=”post” id=”commentform”>
“评论框” id=”respond” (是含author, email, url, comment)
例: <div id=”respond” … >
“评论区” id=”comment”
例: <textarea name=”comment” id=”comment” … >
“提交” id=”submit”
例: <input … id=”submit” … >
※以上所用的id 标签是js 运作的重要关键! 请确认与模板对应无误!