問題の発生
WordPressプラグイン「Accept Donations with PayPal」を無効化または削除しようとすると、次のようなエラーが表示されることがあります。
Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method wpedon_wpeasydonation::wpedon_deactivate() cannot be called statically in
解決方法
これは、プラグインのメソッドが静的(static)でないために発生するエラーです。具体的には、’wpedon_deactivate()’ メソッドが静的でないため、静的コンテキストから呼び出すことができないという問題が発生しています。
この問題を解決するには、’wpedon_deactivate()’ メソッドに ‘static’ キーワードを追加する必要があります。その結果、’easy-paypal-donation.php’ ファイルの該当部分は次のようになります。
66 static function wpedon_deactivate() {
67 delete_option("wpedon_notice_shown");
68 }
69
70 static function wpedon_uninstall() {
71 }
これにより、メソッドは静的コンテキストからも呼び出すことが可能となり、プラグインの無効化や削除が可能となります。