使用 wp cli 删除垃圾评论

今天登录一个网站,发现后台出现了上万条评论,几乎都是垃圾评论。通过一下两种方式删除了的90%以上的垃圾评论,这里总结一下。

 wp db query "SELECT comment_ID FROM wp_comments WHERE comment_author_email LIKE '%.xx'"  --skip-column-names  | xargs wp comment delete --force

发现好多评论使用邮箱是 .xx 结尾的,所以都删除掉

参数说明
wp db queryWP-CLI 的数据库查询命令,直接执行 SQL 语句
"SELECT comment_ID ..."SQL 查询语句,只选择 comment_ID 字段,减少数据传输量
WHERE comment_author_email LIKE '%.xx'LIKE 是模糊匹配操作符,% 是通配符(匹配任意字符)。
例如:user@spam.xxtest.xx 都会被匹配
--skip-column-names关键参数:去掉 MySQL 输出的表头行(即 comment_ID 字段名),
只输出纯数据。不加的话第一行会是 comment_ID,会导致后续命令报错

删除制定文章的的全部留言。

wp comment list --post_id=1 --field=comment_ID --number=10 | xargs wp comment delete --force
参数说明
wp comment listWP-CLI 的评论列表命令,用于查询和显示评论
--post_id=1筛选条件:只查询属于文章 ID 为 1 的评论
--field=comment_ID关键参数:指定只输出 comment_ID 字段,不输出其他信息(如作者、内容等)
--number=10限制返回条数:只返回前 10 条评论(默认按评论 ID 升序排列)