Проблема с удалением плагина

привет всем

пишу плагин, работающий с несколькими своими таблицами, но вот в чем беда — когда удаляешь этот плагин, то остаеются таблицы в БД.

    /* wp-test-plg/classes/Base.php */
    public function init($wpdb) {
        if ($wpdb instanceof wpdb) {
            $this->db = $wpdb;            
        }    
        add_action('admin_menu', array(&$this, 'createAdminMenu'));
        register_activation_hook(WP_PLUGIN_DIR . '/wp-test-plg/wp-test-plg.php', array($this, 'activate'));
        register_uninstall_hook(WP_PLUGIN_DIR . '/wp-test-plg/wp-test-plg.php', array($this, 'uninstall'));   // это почему-то не работает. 
    }
   
    public function uninstall() {
        $sql = "DROP TABLE IF EXISTS {$this->db->prefix}my-plg";       
        try {
            $this->db->query($sql);
        } catch (Exception $e) {
            echo $e->getMessage();
        }    
    }

В случае, когда вместо register_uninstall_hook пишется register_deactivation_hook, то все ок, таблицу убивает. Но это не то что нужно, напр. если деактивировать по какой-то причине, затем снова активировать и потерять все данные.

Подскажите, пожалуйста, как пофиксить

Anonymous
Отправить
Ответ на: