2010-10-15 78 views
0

下面是一些例子,我有一個在'register_deactivation_hook'上觸發的函數。關於在Wordpress中register_deactivation_hook的問題

此功能會刪除激活時創建的數據庫。

我的問題是:在禁用表上刪除表是否是一種很好的做法?

我可能想要取消激活它來測試某些內容,並且在該表中丟失我的所有數據會很煩人。

刪除表似乎更適合您要刪除插件。我不確定是否有這個鉤子。

回答

2

這是一個壞主意!

如果您通過PHP手動更新插件(有些人仍然這樣做),則應在傳輸文件之前停用它。您也可以停用插件來測試您的網站配置。 每次停用時刪除插件的數據庫表都會導致數據丟失!

大多數創建自定義數據庫表和條目的插件都具有單獨的「卸載」操作。它是管理頁面上的按鈕或插件頁面上插件名稱下的鏈接。單擊「卸載」將刪除數據庫表,然後停用該插件。這是一種更安全的做事方式。

你是對的,沒有register_deletion_hook ...所以這是處理完全插件卸載的最好,最常見和最簡單的方法。請千萬不要使用register_deactivation_hook刪除數據庫表...

+0

這就是我懷疑。插件列表中有正常的'Delete'功能。但是,這不是你的意思是卸載嗎?我應該添加我自己的「卸載」鏈接? – Steven 2010-10-15 16:57:55

+0

「刪除」功能將刪除您的插件的文件...並且您無法連接到它。您應該添加您自己的'卸載'鏈接,它們都會清理數據庫,然後停用插件...刪除操作將由最終用戶決定。 – EAMann 2010-10-15 17:01:18