私はワードプレスのブログを持っており、いくつかの投稿の下に大量のコメントがあります。最近、一部のコメントが 2、3 回重複していることに気付きました。Wordpressのmysqlデータベースからテーブルwp_commentsから重複要素を削除するphpコードを使用したい(サーバーから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();
?>
多分あなたはこのコードについてもっと良い考えを持っていますか?