register_uninstall_hook でのクラスメソッド呼び出し

自作プラグインをクラス化したら、正常に動作していたはずの register_uninstall_hook – WordPress Codex  でエラーが発生してしまいました

これは、プラグイン削除時の動作なので気づきにくい症状です
たまたま、wp-config.php の define(‘WP_DEBUG’, true); をデバッグモードにした時に発覚しました

スクリーンショット_040513_053642_PM

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’));

クラスにした場合について記事にしてみました (^^)


まとめ記事紹介

go-to-top