ワードプレスでプラグインを停止したときに任意のテーブルを消すPHPコードをご紹介します。

プラグインを停止したときに任意のテーブルを消すPHPコード

このコードはプラグインの名称等の設定コメントがあるPHPファイルに記載いただくと、そのプラグインが停止したときに指定したテーブルがある場合にそのテーブルを削除します。

プラグインを停止したときにテーブルのデータごと消したい場合などに使用できるかと思います。

function plugin_deactivate_deletetable() {	

    global $wpdb;
    
    $table_name = $wpdb->prefix . 'プレフィクス以下のテーブル名';
    $sql = $wpdb->prepare("DROP TABLE IF EXISTS %1s", $table_name);
    $wpdb->query($sql);
    
} 
register_deactivation_hook (__FILE__, 'plugin_deactivate_deletetable');

register_deactivation_hook (__FILE__, はそのプラグインを停止したときに任意の処理を行うフックです。

このコードでは、plugin_deactivate_deletetable という関数を実行します。

データベースの接続用の様々な関数を利用するために global $wpdb; を呼び出します。

$wpdb->prefix . ‘プレフィクス以下のテーブル名’; の部分に消したいテーブルを指定します。

DROP TABLE IF EXISTS %1s で上記テーブル名のテーブル名が存在する場合のみ消去するというSQL文をエスケープしながら作成します

$wpdb->query($sql); でSQL文を実行し、テーブルを消去します。

ご参考になりましたら幸いです。

WordPress ワードプレスのコーディング・バグ修正・復旧等のご依頼・ご相談はWPドクターまでお気軽にお送りください