ワードプレスでプラグインを停止したときに任意のテーブルを消す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ドクターまでお気軽にお送りください