web-dev-qa-db-ja.com

Uninstall.phpを使用した共有オプションの削除

アンインストール時に自分のプラグインがサイトに対して行ったすべてのトレースを削除するために、私のプラグインにuninstall.phpを使用しています。私はそれをうまくやったが、削除した後でもoptionsテーブルにはいくつかのフィールドがある。

  • uninstall_plugins
  • recently_activated
  • _site_transient_update_plugins

これらのオプションでは他のプラグインからも複数の値があります。

どのようにしてそのような痕跡の世話をすることができますか、またどのように私はそれらの痕跡すべてを取り除くことができますか?

WooCommerceをチェックしたところ、「データの削除」チェックボックスがチェックされていると、削除後に痕跡が残らないことがわかりました。

どうすればいいの?

1
Mayeenul Islam

私はあなたがこれらの選択肢に触れるべきではないと思います。 WordPressコアはすでに、( delete_plugins() のように)削除されたときにプラグインへの参照を削除することによって、あるいはそのような方法でコーディングされることによって処理します削除されたプラグインへの参照を無視できること実際には、これら3つのオプションはどれも非常に長くは続かないでしょう。それらはすべて定期的に再生成されるからです。 1つは一時的なもので、とにかく自然に期限切れになります。プラグイン は、1週間後に最近アクティブになったリストから削除されます 。そしてプラグインは uninstall_plugin() によってuninstall_pluginsオプションから削除されます。

また、 WooCommerceはこれらには触れません 。そもそもそれがこれらの値に追加されなかったか、またはWordPressによってすぐに削除されたため、おそらくそれは自分自身を削除したようにちょうど見えました。 (関数の代わりにuninstall_pluginsファイルを使用するため、uninstall.phpにはまったく追加されませんでした。).

だから、TL; DR:あなたはこれについて心配する必要はありません、WordPressはそれを大事にします。

2
J.D.