就像圖上一樣,這可不是外掛哦,而是自己手動加入一個簡單的算式來達成留言驗證碼的功能,對於一般的留言機器人都可以擋下來,除非你遇到高級機器人可能就失效了,不過也是極少數啦~
站長一天下來也是幾10封垃圾留言,因為Email的關係,不只WP後台要清理,連Email也要刪,真是夠煩的啦,但是站長對於圖形驗證碼影響版面實在不愛,所以我們就自己來加個計算式考考留言機器人吧!
如何手動加入呢?
我們一共要修改2個地方
第一、打開部落格根目錄底下的wp-comments-post.php
大約在6X行的地方,在Email驗證函數的下方加入以下語法:
if ( !$user->ID ) { $a = trim($_POST[a]); $b = trim($_POST[b]); $sub = trim($_POST[sub]); if((($a+$b)!=$sub)|| empty($sub)){ wp_die( __('算錯了吼~再算一次吧!') ); } }插入位置可參考下圖(這段語法是用來定義計算式,不只加法,減乘除都能改)
第二、打開佈景下的comments.php
在你網站輸入的語法下面插入以下語法:
<p><? $a=rand(0,10); $b=rand(0,10); ?> <input type="text" name="sub" tabindex="3" id="sub" size="22"><input type="hidden" name="a" value="<?=$a?>" /><input type="hidden" name="b" value="<?=$b?>" /> <label for="sub"><span class="red"><?=$a?>+<?=$b?>=?</span>(必填)</label></p>※如果你的comments有像下圖一樣用到<span class=”xx “>則將<p>取代為你comments 裡的<span=”xx “>,而在宣告表格的語法裡如有用到像下圖 class=” xx“,則可以在語法 中加入,例如修改後如下,這樣就會和你佈景的表格一模一樣囉!
<span class="row"><? $a=rand(0,10); $b=rand(0,10); ?> <input type="text" name="sub" tabindex="3" id="sub" class="textfield" size="22"><input type="hidden" name="a" value="<?=$a?>" /><input type="hidden" name="b" value="<?=$b?>" /> <label for="sub"><span class="red"><?=$a?>+<?=$b?>=?</span>(必填)</label></span>如此一來就有一個簡單的驗證功能啦。
如何修改數字範圍?
如果你怕訪客算術不好,那就來改改運算式的數字範圍吧~在語法中有這一段宣告式,只要將(0,10)修改為你想要的範圍就可以囉,左邊的是第一個數字範圍,右邊是第二個
<? $a=rand(0,10); $b=rand(0,10); ?>例如,範圍前面改為1~5,後面數字改為6~10
<? $a=rand(1,5); $b=rand(6,10); ?>如何修改運算式? 只要將二段語法中的+改成你要做的運算法則就可以囉! 乘:* 、除:/ 、減:- 就是這麼簡單,趕緊去試試吧~
if ( !$user->ID ) { $a = trim($_POST[a]); $b = trim($_POST[b]); $sub = trim($_POST[sub]); if((($a+$b)!=$sub)|| empty($sub)){ wp_die( __('算錯了吼~再算一次吧!') ); } }
<p><? $a=rand(0,10); $b=rand(0,10); ?> <input type="text" name="sub" tabindex="3" id="sub" size="22"><input type="hidden" name="a" value="<?=$a?>" /><input type="hidden" name="b" value="<?=$b?>" /> <label for="sub"><span class="red"><?=$a?>+<?=$b?>=?</span>(必填)</label></p>
