WordPress

プラグイン停止時の動き

前回の投稿では、プラグインのインストール時にテーブル作成を行いました。

今回はプラグイン停止時の処理を追加します。

停止時はプログラムの先頭で以下の処理を書いてから
[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]
としてもいいと思われます。

削除時になにを残して、何を消すのか、プラグインの性質をよく考えて
決めるのがよいと思います。

次回はプラグインのアンインストール時の動きを書きます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です