当然,如果只是要删除几条评论或者是其他一些简单的工作,WordPress的一个高效的内置评论管理接口就够了,我们能够方便的在wordpress控制面板管理一些评论。如是批量删除评论或者其他有关评论的工作我们可以使用几个简单的SQL,能够更快更方便的解决。 在今天的wordpress教程中,我将向你展示一些超级有用的SQL查询来更轻松地管理你的WordPress评论。
在这之前需要注意
不要忘了在测试下面的任何查询之前先做好数据库的备份。
不要忘记更改默认的表前缀wp_,在使用下面的SQL语句的时候。
删除所有的垃圾评论
当你wordpress垃圾评论队列中的数目超过10万条的时候,删除它们使用内置的“删除所有垃圾评论”按钮可能会导致一个PHP内存错误。 为了避免这种情况,只要用这个简单的SQL请求,一次删除所有垃圾评论。
DELETE from wp_comments WHERE comment_approved = 'spam'
删除两个日期之间的所有评论
有一个“垃圾评论攻击”在有限的时间内? 下面是一个简单的方法来删除两个日期之间的所有评论。
DELETE FROM wp_comments
WHERE comment_date > '2013-11-15 01:10:04'
AND comment_date <= '2013-11-20 00:10:04'
删除所有等待审核的评论
如果您的“待审核的评论”队列中充满了99%的垃圾评论,你不想一个个手动审查他们,这条SQL命令将帮组你立即清除所有等待审核的评论。
DELETE FROM wp_comments WHERE comment_approved = '0'
立刻禁用所有文章的评论
要禁用您所有的文章评论? 如果是用WordPress自带评论管理,你将会累死!为什么不利用这个超级简单的SQL查询?
UPDATE wp_posts SET comment_status = 'closed', ping_status = 'closed' WHERE comment_status = 'open'
停用较老的文章评论
为了限制垃圾评论,为什么不关闭较老的文章评论? 下面的SQL语句将早于2014年1月1日发表的所有文章自动关闭评论:
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date <'2014-01-01' AND post_status = 'publish'
当然,你可以根据你自己的需要调整修改相应的时间。
删除指定评论者URL的评论
如果你想删除该读者的所有留言,怎么办?这里是一个非常简单的方法来批量删除与特定URL中的所有评论,用一个简单的SQL查询。如果你只是想删除这些网址相关的内容,你可以使用它:
DELETE from wp_comments WHERE comment_author_url LIKE "%www.wpmee.com%" ;
搜索和替换评论内容
如果你要替换所有评论特定的词或句子,使用mysql的一个非常方便的SQL查询函数REPLACE即可解决问题。
UPDATE wp_comments SET `comment_content` = REPLACE (`comment_content`, 'OriginalText', 'ReplacedText')
在全局范围内启用仅注册用户才能评论
只有注册用户才能参与文章的评论,这样的方法避免了绝大多数的垃圾评论。
UPDATE wp_posts SET comment_status = 'registered_only'