我有 wordpress 博客,并且在一些帖子下有大量评论。最近发现有些评论重复了两三遍。我想使用 php 代码从 Wordpress 的 mysql 数据库中删除表 wp_comments 中的重复元素(通过从服务器打开 php 文件)。我使用了这段代码,但它不起作用。任何想法为什么?当我运行这个文件时,我有空白页(没有错误,但重复的评论仍然存在)。
代码:
<?php
include_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php' );
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 ) {
echo 'It works';
$wpdb->query("DELETE FROM ".$wpdb->prefix."_comments WHERE comment_ID == ".$comment->comment_ID);
}
else
$prev = $comment;
}
$wpdb->print_error();
?>
也许您对此代码有更好的想法?