it-swarm.dev

Setzt die Plugin-Deinstallation WordPress immer in den ursprünglichen Zustand zurück?

Was ist eine Plugin-Lebensdauer in einer bereitgestellten Instanz von WordPress?

Nämlich:

  • modifizieren Plugins vorhandene Dateien oder verwenden sie nur definierte Erweiterungspunkte in WordPress?
  • dürfen Plugins das Datenbankschema ändern (z. B. neue Spalten hinzufügen)?
  • wie stellt Wordpress sicher, dass bei der Deinstallation des Plugins immer der ursprüngliche Zustand von WP beibehalten wird? (Macht es?)
4
Marek

Kurze Antwort:

  • Plugins ändern keine vorhandenen Dateien, sondern binden sich über eine exponierte API in WordPress ein.
  • Plugins können das Datenbankschema ändern.
  • Plugins müssen nicht sauber deinstalliert werden.

Plugin Hooks

Plugins binden sich an einer bestimmten Stelle in WordPress ein, die vom WordPress-Kern angezeigt wird.

http://codex.wordpress.org/Plugin_API

Beispielsweise liest die Funktion get_option() eine Site-Option aus der Datenbank. Bevor eine echte Aktion in dieser Funktion ausgeführt wird, ruft WordPress apply_filters( 'pre_option_' . $option, false ) auf. Wenn eine Option foobar angegeben wird, kann ein Plugin den wahren Wert dieser Option mit dem folgenden Code überschreiben:

function override_foobar( $unused ) {
    return 'My custom value.';
}
add_filter( 'pre_option_foobar', 'override_foobar' ); // add_filter(hook, function)

Siehe auch http://adambrown.info/p/wp_hooks/ .

Plugins zur Änderung der Datenbank

Plugins können die Datenbank ändern, sofern der Benutzer der WordPress-Datenbank noch über diese Berechtigung verfügt. Einige der komplexeren Plugins fügen ihre eigenen Tabellen hinzu. Es ist möglich, dass ein Plugin Kerntabellen modifiziert und dies hoffentlich verantwortungsbewusst und auf eine Weise, die nichts kaputt macht, wenn das Plugin entfernt wird.

Dies muss Plugin für Plugin geprüft werden.

Plugins deinstallieren

Die Funktion deactivate_plugins() ruft die Aktion do_action( 'deactivate_' . trim( $plugin ) ) auf. Ein Plugin sollte sich an diese Aktion binden, wenn bestimmte Dinge passieren müssen, wenn das Plugin deaktiviert ist. Nach meiner Erfahrung führen nur wenige Plugins eine Menge Deaktivierungsbereinigungen durch, d. H. Speichern Sie die Einstellungen im Kühlhaus, falls sie erneut aktiviert werden.

15

Plugins in WordPress machen, was der Code sagt. Um speziell auf Ihre Fragen zu antworten,

  1. Sie sollten es nicht, aber nichts hindert sie daran, Kerndateien zu ändern.
  2. Sie dürfen auf jede Art und Weise, die WordPress selbst kann, eine vollständige Schnittstelle mit der Datenbank herstellen.
  3. WordPress stellt nicht sicher, dass eine Plugin-Deinstallation nicht die gesamte Installation zerstört. Wenn ein Plugin-Autor die Deinstallationsfunktion so einstellt, dass alles gelöscht wird, wird dies ausgeführt.

Es stellt sich also die Frage, was zu tun ist, wenn ein Plugin-Autor Ihr Vertrauen in die Website missbraucht und Ihrer Website etwas Bösartiges angetan hat. Regelmäßige Sicherungen Ihres wp-Inhaltsverzeichnisses sowie Ihrer gesamten Datenbank sind der beste Weg, um sicherzustellen, dass Sie in der Lage sind, eine Wiederherstellung durchzuführen, falls etwas mit Ihrer Site passiert (z. B. Datenverlust, Hack-Angriff, fehlerhaftes Plugin usw.). .

3
John P Bloch

Klare Antwort: NEIN

Plugins können alles, was Sie mit PHP Code tun können.

1
User