アクティベーションフックの場合、コーデックスはグローバルに対して明示的でなければならないと述べています。
しかし、それはuninstall.phpに取り組んでいないようです
私はこのように私のメインプラグインファイルでグローバルを定義すると:
global $plugin_options_name;
$plugin_options_name = 'xxxxxxxxx';
アクティベーションフックはグローバルステートメントを介してそれを使用することができますがuninstall.phpはできません。
Unistall.phpの中で変数を再宣言する必要があります
これが事実である場合、私はアンインストールフックに切り替えるとこれは変わりますか?
あなたのメインプラグインが副作用を持っていないなら(ロードされたとき自動的にhtmlを出力するかファイル/ DBに書き込む)、あなたはファイルよりアンインストールフックを好むべきです。 IMO uninstall.phpコードが間違っていて、外部から実行されるようにファイルを開いてしまう危険性が高すぎます(すなわち、ゼロ以外)。これは、関連するすべてのコードを1か所にまとめるのにも役立ちます。
uninstall.phpが存在する場合は、プラグインコードをロードせずに実行されます(つまり、その要点です)。そのため、プラグインコードで宣言されているものはすべてuninstall.phpでは使用できません。
私は自分自身のファイルに定数とグローバルを定義し、プラグインのメインファイルとuninstall.php
の両方にそれらをロードします。このようにして、私のグローバルはすべて1か所にまとめられています。それから、フックを使用した場合に起こる可能性があるように、アンインストール時に誤って副作用を実行することについて心配する必要はありません。