WordPress 主題下載站,從建站到現在,每天都被垃圾評論煩惱著,最近無奈抽出時間百度相關資料,現在整理出一些方法來對付 WordPress 垃圾評論的方法!有相同問題的 WordPress 主題愛好者們可以嘗試一下哈!

首先我們分析下 WordPress 垃圾評論主要有哪些形式存在著

20130611161136

一、很多連結,一看就知道是一些垃圾評論,裡面出現了 http: 、 href 、等連結標籤

於是,應對此操作的最有效方式就是禁止評論裡帶有 http: 、 href 等字眼的出現!

操作方法:到主題檔案根目錄下找到 functions.php 檔案,開啟檔案 (編寫程式碼請用程式碼軟體編寫,禁止用記事本,極易編碼出錯)

在檔案最下面的 ?> 前面貼上下面的程式碼

  1. function lianyue_comment_post( $incoming_comment ) {    
  2. $http = '/[<|=|.|友|夜|KTV|ッ|の|ン|優|業|グ|貿|]/u';  
  3. if(preg_match($http, $incoming_comment['comment_content'])) {  
  4. wp_die( "萬惡的發貼機!" );    
  5. }    
  6. return$incoming_comment );    
  7. }    
  8. add_filter('preprocess_comment', 'lianyue_comment_post');    

其中灰色程式碼位置就是遮蔽的欄位,可以自定義自己要遮蔽的!本站也整理了一些相關的可以遮蔽的詞

例如:

  1. |<|=|.|友|夜|KTV|ッ|の|ン|優|業|グ|貿| 

這些詞也經常在 WordPress 垃圾評論中出現,加入進上面的灰色位置裡即可!


二、 WordPress 垃圾評論裡有很多的英文,幾乎全英文的

我們可以設定為評論內容裡必須包含漢字,至少在國內這樣的操作是合理的吧!

操作方法同樣是開啟 functions.php 檔案,然後新增一下程式碼:

  1. function lianyue_comment_post( $incoming_comment ) {    
  2. $pattern = '/[一-龥]/u';    
  3.   
  4. if(!preg_match($pattern$incoming_comment['comment_content'])) {    
  5. wp_die( "您的評論中必須包含漢字,否則將被視為發貼機!" );    
  6. }    
  7. return$incoming_comment );    
  8. }    
  9. add_filter('preprocess_comment', 'lianyue_comment_post');    

上面的程式碼的意思就是說,評論內必須包含漢字,否則評論將不透過!


目前從這兩點可以從根本上遏制垃圾評論的出現,上面兩個手段都想用的朋友可以使用下面的程式碼,我做了下整合處理,效果就是必須包含中文字元和不準包含指定字元的程式碼!

  1.     
  2. function lianyue_comment_post( $incoming_comment ) {    
  3. $pattern = '/[一-龥]/u';    
  4. $http = '/[<|=|.|友|夜|KTV|ッ|の|ン|優|業|グ|貿|]/u';  
  5. // 禁止全英文評論  
  6. if(!preg_match($pattern, $incoming_comment['comment_content'])) {  
  7. wp_die( "您的評論中必須包含漢字,否則將被視為發貼機!" );  
  8. }elseif(preg_match($http, $incoming_comment['comment_content'])) {  
  9. wp_die( "萬惡的發貼機,這裡不允許放連結,如需交換連結請聯絡站長!" );    
  10. }    
  11. return$incoming_comment );    
  12. }    
  13. add_filter('preprocess_comment', 'lianyue_comment_post');   

這樣的措施是為了避免垃圾評論裡又有中文,又有連結的存在,所謂限制的更全面,有些朋友會說,那那些換友鏈的怎麼辦? 我只能說,魚與熊掌不能兼得,至少目前以換友情連結為目地的垃圾評論也很多,他們根本就沒想和你換,僅僅是一個外鏈的存在著!


考慮到有些 WordPress 主題使用了 ajax 評論,提示錯誤時可能會出現佈局混亂,解決辦法:

開啟 comments-ajax.php 找到最後個 err( __(並

在下一行增加:

  1. $pattern = '/[一-龥]/u';    
  2. if (!preg_match($pattern,$comment_content) )    
  3. err( __('您的評論中必須包含漢字,否則將被視為發貼機!') );    
  1. $http = '/[<|=|.|友|夜|KTV|ッ|の|ン|優|業|グ|貿|]/u';    
  2. if (preg_match($http,$comment_content) )    
  3. err( __('萬惡的發貼機,這裡不允許放連結,如需交換連結請聯絡站長!') );   

每個 WordPress 主題的 ajax 評論都不一樣,請參閱後自行修改!

以上是透過程式碼,十分簡易的實現了防止 WordPress 垃圾評論的措施,當然也有很多的外掛可以完成,最簡單的外掛就是多說外掛,又美觀評論又可以抵擋 WordPress 垃圾評論,各位看管,自行選擇哈!!