wordpress

修复卸载畅言后出现随机重复评论的脚本

2899
3
2017-04-11

之前说过畅言卸载后会随机出现重复评论,需要写个脚本来修复
不过因为危害不大就算了,一直拖着没弄
今天正好有点时间,就随手写了段脚本,经过本地测试+线上执行,成功清除掉了畅言生成的重复评论
现将这段脚本开源。基本思路就是获取所有畅言添加的评论(comment_agent like 'changyan_%'),然后判断是否有跟这条评论内容相同的、同一个作者的、回复同一篇文章同一条评论的其他评论,如果有,则删除

<?php
$db = new PDO('mysql:host=localhost;dbname=mokeyjay', 'root', 'root');
$sql = 'Select * From wp_comments Where comment_agent Like \'changyan_%\'';

foreach ($db->query($sql) as $row){
    $q = $db->prepare('Select comment_ID From wp_comments Where comment_ID != :id and comment_content = :content And comment_post_ID = :post_id And comment_author = :author And comment_parent = :parent Limit 1');
    $q->execute([
        ':id' => $row['comment_ID'],
        ':post_id' => $row['comment_post_ID'],
        ':author' => $row['comment_author'],
        ':content' => $row['comment_content'],
        ':parent' => $row['comment_parent'],
    ]);

    $row1 = $q->fetch();
    if($row1){
        var_dump($db->exec('Delete From wp_comments Where comment_ID='.$row1['comment_ID']));
        echo '<br>';
    }
}
昵称
邮箱
网址
呆头空的头像 2017-04-16 23:21

感觉这样写SQL好奇怪,关键字要么全大写,要么全小写,首字母大写还是第一次看到

mokeyjay的头像 2017-04-16 23:29
mokeyjay 博主

噫,我也不知道是哪里养成的破习惯……

那天的流星的头像 2017-04-15 02:48

刚刚关了畅言,好像确实存在问题