プラグイン停止時の動き

WordPress

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

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

停止時はプログラムの先頭で以下の処理を書いてから

//停止時の設定
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 . ";";

としてもいいと思われます。

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

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

コメントを残す

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