WordPressでコメントを一括で削除する方法

WordPressで管理画面を使わず、DB操作で直接コメントを一括削除する方法のメモ書きです。

管理画面からでもある程度は一括に消せますが、何百件とあるコメントを全件一括削除はできなさそうだったのでDBを操作して処理しました。

WordPressでコメントを一括削除

具体的にDBで操作するためのコマンドについて。

コメントのステータスについて

WordPressのコメントのステータスは、wp_commentsテーブルのcomment_approved(varchar 20)で管理されています。この値を変更することで修正が可能。

'0': 承認待ち
'1': 承認済み
'spam': スパム

実行コマンド

mysql> update wp_comments set comment_approved='0' where comment_post_ID=XX;
※ XXのIDは記事ID(wp_postsのID)です。

表示されてるコメントは、「’1′: 承認済み」なので、「’0′: 承認待ち」にして非表示にしています。

また、wp_postsにもコメント数があるようなのでそちらも修正します。

mysql> update wp_posts set comment_count=0 where id=XX;

承認済みのコメント数のようなので、一括で削除なので0件に設定しておきました。ここの値は何に使われてるか僕はわからないので、教えていただけたら助かります。

特定の投稿だけコメントを書き込みできないようにする

投稿(または固定ページ)では、記事毎にコメントの書き込み許可を設定することができます。

記事を書く場所の下の方に設定欄があり、ディスカッションの部分のチェックをはずすことで、この記事にだけコメントを書けなくすることができます。
※ディスカッションが表示されてない場合は、上にある表示オプションのディスカッションにチェックを入れてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です