沃梦达 / IT编程 / CMS教程 / 正文

Mysql查询删除重复的WordPress评论?

我在Disqus上遇到了一个问题,即它在很多帖子上创建了重复的评论,有时候是同一评论的4个重复评论.我一直在尝试手动删除这些,但我们总共有超过10K的评论,不幸的是,这发生在偶然的情况下,它只发生在一些帖子上.所以…有...

我在Disqus上遇到了一个问题,即它在很多帖子上创建了重复的评论,有时候是同一评论的4个重复评论.我一直在尝试手动删除这些,但我们总共有超过10K的评论,不幸的是,这发生在偶然的情况下,它只发生在一些帖子上.所以…

有没有人知道一个mysql查询,我可以通过搜索与评论本身或作者相匹配的条目来检测和删除重复的评论?注释ID不重复(它为每个创建了新的注释ID)所以我不知道如何在mysql中执行此操作(加上我不是很擅长: – )…任何帮助将不胜感激.谢谢.

解决方法:

改进Blackbarn的建议,试试这个(在备份数据库之后):

global $wpdb;

$comments = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."_comments"
   ." ORDER BY comment_post_ID, comment_content");

$prev = NULL;

foreach($comments as $comment) {

  if ($prev && $prev->comment_content == $comment->comment_content
    && $prev->comment_post_ID == $comment->comment_post_ID ) { // add maybe other rules here

    $wpdb->query("DELETE FROM ".$wpdb->prefix."_comments WHERE comment_ID = ".$comment->comment_ID);

  }
  else
    $prev = $comment;
}

本文标题为:Mysql查询删除重复的WordPress评论?