前回の投稿では、プラグインのインストール時にテーブル作成を行いました。
今回はプラグイン停止時の処理を追加します。
停止時はプログラムの先頭で以下の処理を書いてから
//停止時の設定 register_deactivation_hook(__FILE__, array('SamplePlugin1', 'myplugin_unactivate'));
↓のように停止時用の関数を作成します。
/** * 停止時の実行 */ function myplugin_unactivate() { //テーブルデータ消去などなど global $wpdb; //削除するテーブルの決定 $table_name = $wpdb->prefix . 'sample_mst'; //テーブル削除 $sql_delete = "DELETE FROM " . $table_name . ";"; $wpdb->query($sql_delete); }
こうする事で、プラグイン停止時の動きを制御します。
また、上記の例では、deleteを行ってテーブルの内容をクリアしていますが、
AUTO_INCREMENTを使用しているテーブルの場合などの場合は
$sql_delete = "DELETE FROM " . $table_name . ";";
のところを
$sql_delete = "TRUNCATE TABLE " . $table_name . ";";
としてもいいと思われます。
削除時になにを残して、何を消すのか、プラグインの性質をよく考えて
決めるのがよいと思います。
次回はプラグインのアンインストール時の動きを書きます。