WordPress代碼實現評論算術驗證碼
WordPress的垃圾評論真的很煩人,為了解決垃圾評論問題,站長們一般選擇需要註冊登陸才能評論,或者採用驗證碼來阻止大部分的惡意評論。說真的,不建議使用驗證碼,博客站也不建議註冊登陸評論,這樣會降低用戶評論的積極性。其實除了這兩種方法,還有很多限制評論的辦法,代碼狗博客幾乎沒有垃圾評論,機器評論更是不可能。我採用的評論限制方法是,限制重複評論、限制評論間隔時間、禁止全外語評論、禁止關鍵詞黑名單評論、禁止指定用戶評論。這裡就不介紹了,今天說WordPress代碼實現評論算術驗證碼的功能。
核心代碼
在你的主題目錄下的functions.php文件中添加下面兩個函數。
//評論添加驗證碼
function spam_protection_math(){
$num1=rand(0,9);
$num2=rand(0,9);
echo ” 請輸入$num1 + $num2 = ?的計算結果:\n”;
echo “\n”;
echo ” \n”;
echo ” “;
}
function spam_protection_pre($commentdata){
$sum=$_POST[‘sum’];
switch($sum){
case $_POST[‘num1’]+$_POST [‘num2’]:
break;
case null:
wp_die(‘對不起:請輸入驗證碼。返回上一頁 ‘,’評論失敗’);
break;
default:
wp_die(‘對不起:驗證碼錯誤,請返回重試。’,’評論失敗’);
}
return $commentdata;
}
if($comment_data[‘comment_type’]==”){
add_filter(‘preprocess_comment’,’spam_protection_pre’);
}
一個是生成驗證碼表單的代碼,一個是驗證提交的驗證碼是否正確的代碼,這裡的驗證方式不夠嚴謹,簡單用用還是可以的,不影響使用。
簡單使用
在你的主題評論模板comments.php文件中找到你的評論表單位置,然後在適當位置添加如下代碼引用。
以上代碼來自博客吧,博客吧評論使用了的,我也測試過,可以使用,但是表單的css就得你自己寫了,不然很難看。