Thursday, January 23, 2020

一條語句關閉WordPress所有文章的TrackBack

前一段由於大量垃圾評論的騷擾,使我不得不安裝了評論算術題插件,這樣一來垃圾評論果然少了很多,不過每天依然有一些垃圾,這讓我感覺很是奇怪,難道機器人也會自己做算術題了?

查看了一下Akismet攔截的垃圾評論,發現它們都有一個共同點,沒有寫郵箱。有了這個發現,我就到後台的評論設置里,將”評論作者必須填寫姓名和電子郵件”的開關打開,心想這樣的話那些垃圾評論應該不會再出現了吧…

可是事與願違,第二天垃圾評論依然如潮水般湧入,而且依舊沒有郵箱地址…暫時解決不了,就不去想了,反正垃圾評論不是很多。

開了這麼多評論驗證,Akismet就顯得不是那麼重要了,索性把它禁用了(關閉它可以大大加快評論提交的速度)。不過這樣一來,倒讓我發現了之前 的垃圾評論沒有郵箱地址的真正原因。因為關閉了Akismet,那些垃圾評論就出現在了審核列表裡,不過它們不是垃圾評論,而是垃圾 TrackBack…怪不得沒有郵箱地址,怪不得能通過算術題驗證,原來是TrackBack…

既然找到了真兇,那就斬草除根吧。先到後台把默認TrackBack開關關掉,然後就是關閉所有文章的TrackBack開關了。對於有400多篇文章的我來說,這可是一項大工程,一個一個修改那就不知道猴年馬月了,只能祭出大法寶了 —- SQL語句

WordPress數據庫中的wp_posts表存放的是所有文章的相關信息,而我們用到的是下面這個字段

ping_status – ping狀態,枚舉enum(’open’,’closed’)值,open指打開pingback功能,closed為關閉。默認值是open。

我們的目的就是批量修改所有文章的”ping_status”字段為”closed”

1、首先進入phpmyadmin,當然,如果你有其他的數據庫管理工具也可以。

2、進入後點擊”SQL”,也就是可以輸入SQL語句的地方。

3、修改對應的數據庫名稱以及數據表前綴(這個看一下就知道了),運行以下語句,提示成功則證明修改已經生效。

UPDATE `數據庫名稱`.`數據表前綴_posts` SET `ping_status` = 'closed';

這樣一來,所有文章的TrackBack就被關閉了,垃圾TrackBack不會再出現了。

 

本文作者:Slyar 文章來源:Slyar Home (www.slyar.com)

One comment

  1. trackback是幹什麼到現在我也沒有弄懂,只是知道後台設置有什麼trackback,唉

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.