web-dev-qa-db-ja.com

プラグインのuninstall.phpファイルはプラグインのオブジェクトにアクセスできますか?

私は、プラグインにクリーンなアンインストール機能を実装するための最良の方法はあなたのプラグインディレクトリの中にuninstall.phpファイルを追加することであることをコーデックスで読みました。

私は疑問に思う:私はuninstall.phpファイル内の私のプラグインのClassインスタンスデータを使用することができますか?

これは私のuninstall.phpファイルにあるコードです:

if(!defined('WP_UNINSTALL_PLUGIN')) exit;
delete_option('my_plugin_options');
$table_name = $wpdb->prefix . $this->dbName;
$wpdb->query("DROP TABLE `$table_name`");

Table_name変数が正しく取得されるのか、それともハードコーディングするのかと思います。

私のテストによると、テーブルは削除された後も残るので、私が何かを見逃していない限り、私は自分のプラグインのファイル内でフックを使うことにフォールバックすると思いますか?

1
pixeline

私は自分のデスクトップにいませんが、取得できないと思います。

しかし:

  • あなたはそれをテストしましたか?テーブルは落下しますか?
  • 私はあなたがグローバル$ wpdbを宣言する必要があると思うでしょう;、そうではありませんか?
  • 何も持っていなければ、 FirePHP のようなツールは本当に開発時に便利です。
  • とにかく、これはテーブル名をハードコードしても全く無害なケースのようです
0
brasofilo