SPAM太多,导致自己想用一个小小的插件来过滤一下。IP不想搞,所以还是用这个简单的数字验证吧。不行了再换别的。下载并启用后格式会有错误,更改之后暂时正常了,凑合用吧。我的设置如下:

HTML code for the math question field:

<p>
<input id="[fieldname_answer]" name="[fieldname_answer]" type="text" value="" tabindex="5" />
<input type="hidden" name="[fieldname_hash]" value="[result]" />
<label for="[fieldname_answer]"><small>[operand1]+[operand2]=</small></label>
<span class="required">***</span>
</p>

Error Messages:
Error message being displayed in case of no answer (empty field) / not entered a number:
错误:请输入两数之和。
Error message being displayed in case of a wrong answer:
错误:请填写正确的两数之和。

更改之后提示出错的时候还会出现body变形的错误。查了一下原因是/wp-admin/css/install.css这个文件加载造成的。

寻找了一篇文章《修正Ajax-comments错误提示导致整体页面变形》http://www.nuodou.com/item/639.html,按照上面的方法可以解决变形的问题。

附文章大意如下:

修正Ajax-comments错误提示导致整体页面变形

导致变形的body样式来源于 /wp-admin/css/install.css 这个应该是根据wordpress源码调用。
由于不太愿意直接修改源代码,想到了错误既然来自js,那就可以用正则取消框中代码标签的显示。
我用的ajax评论效果的JS代码,是由Willin Kan编写的Ajax-Comments v1.3版。
在 comments-ajax.js 代码里搜索关键字“responseText”(其它版本也可以搜索这个关键字),这个是控制输出的,大概在 45 行:

$('#error').slideDown().html('<img src="' + pic_no + '" style="vertical-align:middle;" alt=""/> ' + request.responseText);
</pre>
在其中加入正则,过滤掉上图框中的meta、title、link标签及其内容,完整代码如下:
<pre lang="Javascript" line="3" file="3.txt" colla="+">
$('#error').slideDown().html('<img src="' + pic_no + '" style="vertical-align:middle;" alt=""/> ' + request.responseText.replace(/<(?!p).*?>(?:.*?<\/.*?>)?/gi,''));

即添加的正则代码为:

.replace(/<(?!p).*?>(?:.*?<\/.*?>)?/gi,'')