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