Thursday, November 21, 2024

一条语句关闭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.