自作プラグインをクラス化したら、正常に動作していたはずの register_uninstall_hook – WordPress Codex でエラーが発生してしまいました
これは、プラグイン削除時の動作なので気づきにくい症状です
たまたま、wp-config.php の define(‘WP_DEBUG’, true); をデバッグモードにした時に発覚しました
WordPress Ver3.1 以降は、クラスメソッドを static にしないといけないようです
このような記述でエラーとなりました
register_uninstall_hook(__FILE__, array(&$this, ‘my_uninstall_hook’));
コールバックする my_uninstall_hook クラスメソッドを static にします
フックする側では、このように static メソッドとしてクラス名を記述します
register_uninstall_hook(__FILE__, ‘クラス名::my_uninstall_hook’);
あるいは、次のような記述でも良いようです
register_uninstall_hook(__FILE__, array(‘クラス名’, ‘my_uninstall_hook’));
クラスにした場合について記事にしてみました (^^)