萬盛學電腦網

 萬盛學電腦網 >> 電腦基本常識 >> 怎樣解決wordpress中英文垃圾評論?

怎樣解決wordpress中英文垃圾評論?

class="area">

WordPress現在的使用是越來越廣泛,wordpress這個玩意兒是從國外傳過來的,wordpress也是國外SEO們使用最多的程序。同時與之而來的是相關SEO工具的開發也越來越多,技術也越來越高。

記得曾經使用過的一個英文版的評論工具可以快速找到N多的wordpress博客,同時還可以區分哪些是需要驗證碼、哪些是不需要驗證碼、哪些是評 論需要審核、哪些是不需要審核、哪些是評論有跳轉、哪些是沒有做跳轉...等一系列的選項,工具做得很精細,同時還有代理登陸等模擬人工訪問等功能,雖然 這些做得很好,但是制造的產物對於俺們這些博主而言特別是中文博主而言,簡直就是萬惡之源。

喜歡倒騰博客的童鞋們都知道,雖然評論能給博客帶來活力,同時也是一個交流的平台,但是垃圾評論泛濫也不是件好事情,不僅浪費空間資源,同時會降低 網頁的內容質量對用戶體驗產生不良影響;而對於很多人一提到處理垃圾評論都會想到使用類似Akismet這樣的垃圾評論過濾插件,我的破折君博客剛開始也 是按照這個思路來做的,主要用到了下面三個常用的方法:

1、Wordpress自帶的Akismet,默認禁用。啟用後要到其網站上注冊一下,拿到一個api key才能用。該api key對於個人用戶是免費的。

2、Spam Free WordPress。文章裡推薦的是另一個,不過看到這個評分比較高,所以裝這個了。

3、Math Comment Spam Protection。加了個驗證碼,讓做一道數學題。

但是這三個插件雖然能阻擋一些垃圾評論,但是很多時候都是放在垃圾評論裡面,但是也還是要手工刪除。剛開始覺得沒什麼,但是隨著破折君博客的流量的 增加,垃圾評論越來越多,不止中文的還有很多的純英文垃圾評論,有時候一天甚至達到四五百條,刪都刪的累了,所以就想通過禁止純英文評論來解決這個問題。

評論工具不同於手工填表單的方式進行評論而往往是利用ajax入口或者wp-comments-post.php或者其它入口進行發送。但是不管他從哪裡入口,wp鉤子的作用應該一直存在,所以我在主題模板的functions.php下面再加入以下代碼,對純英文評論進行過濾,就可以解決:

function scp_comment_post( $incoming_comment ) {

$pattern = '/[一-龥]/u';

// 禁止全英文評論

if(!preg_match($pattern, $incoming_comment['comment_content'])) {

wp_die( "You should type some Chinese word (like \"你好\") in your comment to pass the spam-check, thanks for your patience! 您的評論中必須包含漢字!" );}

return( $incoming_comment );}

add_filter('preprocess_comment', 'scp_comment_post');

通過這個方法可以讓純英文內容不能評論,這比把純英文評論標記為垃圾評論更好一些,省去了再去刪垃圾評論的時間。

copyright © 萬盛學電腦網 all rights reserved