Globale Variablen während der Aktivierung, Deaktivierung und Deinstallation von Plugins

Für Aktivierungs-Hooks besagt Codex, dass du explizit auf Globals sein musst:

Eine Notiz zu Variablen während der Aktivierung

Aber das scheint nicht auf uninstall.php zu funktionieren

Wenn ich in meiner Haupt-Plugin-Datei ein globales definiere:

global $plugin_options_name; $plugin_options_name = 'xxxxxxxxx'; 

Aktivierung Hook kann es über globale statement verwenden, während uninstall.php nicht kann.

Ich muss die Variable in unistall.php redeclare

Wenn dies der Fall ist, wenn ich zum Deinstallations-Hook wechsel, ändert sich das?

Solutions Collecting From Web of "Globale Variablen während der Aktivierung, Deaktivierung und Deinstallation von Plugins"

Sie sollten den Deinstallationshaken über der Datei bevorzugen, wenn Ihr Hauptplugin keine Nebenwirkungen hat (gibt HTML aus oder schreibt automatisch in die Datei / DB, wenn es geladen wird). IMO gibt es zu viel Risiko (dh nicht Null), den uninstall.php-Code falsch zu machen und die Datei zu öffnen, um die Ausführung von außen zu steuern. Dies hilft auch dabei, den gesamten relevanten Code an einem Ort zu haben.

uninstall.php, wenn es existiert, wird ausgeführt, ohne den Plugin-Code zu laden (das ist der springende Punkt) und daher ist das, was im Plugin-Code deklariert ist, nicht für uninstall.php verfügbar.

Ich definiere alle Konstanten und Globals in einer eigenen Datei und lade das sowohl in der Hauptdatei des Plugins als auch in uninstall.php . Auf diese Weise sind alle meine Globals an einem einzigen Ort organisiert. Und dann muss ich mir keine Gedanken darüber machen, dass bei der Deinstallation versehentlich Nebenwirkungen auftreten, wie es bei Verwendung des Hooks passieren könnte.