前面写了一篇 WordPress中添加验证码详细步骤(sidxspam插件 inove主题),该方法是以 sidxspam 插件的方式来实现简单的四位随机数字组成的验证码,有很多朋友不喜欢插件方式,恰巧前几天看了一篇别人的文章,就是以jQuery为基础的,非插件评论验证码,很不错,下面讲下配置步骤。

===================================================================

1、将 Ajax Fancy Captcha 下载到主题目录下,并解压开;
2、在 heard.php 中的
[php]
<head>

<!– script START –>
这里…
<!– script END –>

<head/>
[/php]
添加
[php]
<script type="text/javascript" src="<?php bloginfo(‘template_directory’); ?>/ajax-fancy-captcha-php/latest-jquery/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="<?php bloginfo(‘template_directory’); ?>/ajax-fancy-captcha-php/latest-jquery-ui/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript" src="<?php bloginfo(‘template_directory’); ?>/ajax-fancy-captcha-php/captcha/jquery.captcha.js"></script>
<link href="<?php bloginfo(‘template_directory’); ?>/ajax-fancy-captcha-php/captcha/captcha.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" charset="utf-8">
$(function() {
$(".ajax-fc-container").captcha({
borderColor: "silver",
captchaDir: "<?php bloginfo(‘template_directory’); ?>/ajax-fancy-captcha-php/captcha/",
url: "<?php bloginfo(‘template_directory’); ?>/ajax-fancy-captcha-php/captcha/captcha.php",
formId: "commentform",
text: "下面是评论验证码,请用鼠标<br />将 <span>scissors</span> 拖进右边的圆框中即可!"
});
});
</script>
[/php]

3、修改 comments.php 文件,在提交按钮上添加如下代码
[php]
<div class="ajax-fc-container">您必须启用 javascript 才能在这儿看到验证码!</div>
[/php]
如果之前有朋友按照那篇 sidxspam 插件文章操作过的,那么在这里可以将
[php]
<?php do_action(‘comment_form’, $post->ID); ?>
[/php]
代码删掉,用上面的那行代码替换掉也行。

4、修改 functions.php 文件,在下方合适位置添加
[php]
function wxq_preprocess_comment($comment) {
if(!session_id()) session_start();
if($_POST[‘captcha’] && $_POST[‘captcha’] == $_SESSION[‘captcha’]){
unset($_SESSION[‘captcha’]);
return($comment);
} else wp_die( __("Error: please drag the captcha.") );
}
add_action(‘preprocess_comment’, ‘wxq_preprocess_comment’);
[/php]

5、下载 jquery.captcha 中文插件。
解压缩后,将 jquery.captcha.js 文件,替换主题目录下的/ajax-fancy-captcha-php/captcha/ 目录下 jquery.captcha.js 文件。

喜欢英文模式的朋友,可以将上面代码的中文换成英文即可,并且不用做第5步的汉化工作。

===================================================================
原方法参考链接:阿Q的项目
===================================================================