Contact Form CFDB7 のデータを一気に消去する方法(TRUNCATE対応)

Contact Form 7 と一緒によく使われる Contact Form CFDB7 プラグインですが、長期間運用しているとデータベースに大量の投稿データが溜まってしまいます。

本記事では、管理画面操作ではなく、データベースを直接 TRUNCATE して一括削除する方法を解説します。
開発者向け・自己責任での運用を前提とした内容です。

1 注意事項(必ず読んでください)

  • 本操作は データを完全に削除 します
  • 元に戻すことはできません
  • 必ず バックアップ を取得してから実行してください
  • 本番環境での実行は慎重に行ってください

2 CFDB7 のデータが保存されているテーブル

Contact Form CFDB7 は、通常以下のテーブルにデータを保存しています。


wp_db7_forms
  

wp_ は環境によって異なるため、$wpdb->prefix を使用します。

3 function.php にコードを追加

以下のコードを functions.php で実行してください。


global $wpdb;
$wpdb->query( "TRUNCATE TABLE {$wpdb->prefix}db7_forms" );
  

3.1 コードの解説

  • global $wpdb;:WordPress の DB 操作クラスを利用
  • TRUNCATE TABLE:テーブルを高速かつ完全に初期化
  • {$wpdb->prefix}:環境依存のテーブル接頭辞に対応

4 TRUNCATE と DELETE の違い

項目 TRUNCATE DELETE
速度 非常に高速 遅い
元に戻せるか 不可 条件次第
AUTO_INCREMENT リセットされる されない

5 安全に実行するためのおすすめ方法

  1. ローカル環境 or ステージング環境でテスト
  2. phpMyAdmin で事前にテーブルを確認
  3. 実行後、CFDB7 管理画面で空になっているか確認

6 まとめ

CFDB7 のデータが肥大化すると、バックアップ容量や管理画面の表示速度に影響します。
定期的なメンテナンスとして、TRUNCATE による一括削除は有効な手段です。

ただし、本番環境では慎重に
「わかっていて使う人」向けの方法として覚えておくと便利です。