Support » Diskussion » Fehler bei Update eines Plugins

  • Hallo,

    mein Themen-Titel ist ein wenig unglücklich gewählt. Wie man solch ein Fehler behebt weiß ich. Was mich eher interessiert, was in solch einem Fall mit den Inhalten passiert.

    Folgendes Szenario. Über WP wird mit wp-awesome-faq oder wordpress-faq-plugin (von web-dorado.com) eine FAQ aufgebaut. Wenn nun nach einem Update des Core das Plugin rum zickt oder durch ein fehlerhaftes Update seitens des Plugin-Entwicklers selbiges passiert und ich gezwungen bin dies erst mal per FTP aus dem Ordner zu löschen. Was passiert dann mit den eingepflegten Inhalten? Stehen diese dann wieder zur Verfügung, wenn ich das vorherige Release des Plugins wieder einspiele oder muss ich damit rechnen, dass der Inhalt unter Umständen flöten geht? (Ich weiß grundsätzlich wäre es sicherer, ein komplettes Backup des Systems vor jedem Backup anzulegen).

Ansicht von 1 Antwort (von insgesamt 1)
  • Wer ein Plugin installiert, speichert meist damit auch Daten in der Datenbank – entweder in der Tabelle wp_options oder sogar in eigenen Tabellen, die das Plugin anlegt. Wird das Plugin gelöscht, stellt sich die Frage, was mit diesen Daten passieren soll.

    Das Plugin Handbuch, Referenz für alle Plugins, die im WordPress Plugin Repository aufgenommen werden sollen, hat für die Deinstallation eine klare Anweisung: Plugins sollen entweder eine Datei uninstall.php verwenden, in der Funktionen enthalten sind, um die Datenbankeinträge bzw. -tabellen wieder zu löschen. Alternativ kann auch die Funktion register_uninstall_hook() verwendet werden.
    Bei einigen Plugins ist mir aufgefallen, dass sie zusätzlich ein Optionsfeld anbieten, mit dem der Anwender auswählen kann, ob die Plugin-bezogenen Daten gelöscht werden sollen. Das erinnert zwar ein wenig an das Kleingedruckte in komplizierten Versicherungsverträgen, scheint aber beim Plugin Review durchgewunken zu werden.

    Etwas anders sieht es aus, wenn der Anwender das Plugin-Verzeichnis umbenennt, weil ihn gerade eines der installierten Plugins ausgesperrt hat. Meldet sich der Benutzer anschließend im Back End an, prüft WordPress die Liste der installierten Plugins, findet sie nicht, gerät in Panik (OK, nicht wirklich. Eigentlich bleibt WordPress immer cool und deshalb mögen wir es ja auch so.) und deaktiviert die Plugins vorsorglich, damit kein Schaden entsteht. Da WordPress in diesem Moment aber auch nicht mehr auf die Datei uninstall.php des Plugins (bzw. die Funktion, die an den register_uninstall_hook gebunden ist) zurückgreifen kann, seufzt es einmal tief durch und … lässt die Daten unverändert in der Datenbank stehen. Wird nun der Plugin-Ordner wieder auf seinen ursprünglichen Namen zurückgesetzt und das Plugin installiert, verwendet es die Daten, die noch aus der vorherigen Installation gesichert sind.

    Was aber, wenn der Benutzer trotzdem die Daten in der Datenbank entfernen möchte? Einige Plugins verstecken das Kontrollkästchen, mit dem die Löschung durchgeführt werden kann, so geschickt, dass selbst erfahrene Nutzer dreimal hinschauen, Google bemühen und alchemistische Formeln aufsagen müssten, um die Datenbankeinträge dauerhaft loszuwerden. Unter dem Suchbegriff „Orphaned“ findet man im Plugin-Repository diverse Plugins, die nach verwaisten Datenbankeinträgen suchen und eine Löschung mehr oder weniger komfortabel anbieten.

Ansicht von 1 Antwort (von insgesamt 1)
  • Das Thema „Fehler bei Update eines Plugins“ ist für neue Antworten geschlossen.