WP Staging Wiederherstellungstool – Filter Konfiguration

Mit dem Standalone Restore Tool können Sie das Verhalten beim Wiederherstellen über eine JSON-Konfigurationsdatei anpassen. So lassen sich Restore-Filter ähnlich wie im WordPress-Plugin verwenden, auch wenn WordPress selbst nicht läuft.

Hinweis: Wenn keine wpstg-restore-config.json vorhanden ist, verwendet das Tool automatisch die Standardwerte.

So funktioniert es

  1. Legen Sie eine Datei mit dem Namen wpstg-restore-config.json im selben Verzeichnis wie wpstg-restore.php ab.
  2. Beim Start liest das Tool die Konfiguration ein und übernimmt die definierten Filterwerte.
  3. Fehlt die Datei, läuft der Restore wie gewohnt mit den Standardwerten.

Aufbau der Konfigurationsdatei

{
  "version": 1,
  "filters": {
    "filter.name": "value"
  }
}
  • version: Version des Konfigurationsschemas. Der Wert muss 1 sein.
  • filters: Objekt mit den Filternamen und ihren jeweiligen Werten.

Ein vollständiges Beispiel mit allen verfügbaren Filtern und ihren Standardwerten finden Sie in wpstg-restore-config.example.json.

Verfügbare Filter

Boolesche Filter

Diese Filter akzeptieren die Werte true oder false.

FilternameStandardwertBeschreibung
wpstg.backup.restore.keepExistingPluginsfalseWenn dieser Wert auf true gesetzt ist, werden vorhandene Plugins vor dem Restore nicht gelöscht. Die Plugins aus dem Backup werden stattdessen mit dem bestehenden Plugin-Verzeichnis zusammengeführt.
wpstg.backup.restore.keepExistingThemesfalseWenn dieser Wert auf true gesetzt ist, werden vorhandene Themes vor dem Restore nicht gelöscht.
wpstg.backup.restore.keepExistingMuPluginsfalseWenn dieser Wert auf true gesetzt ist, werden vorhandene Must-Use-Plugins vor dem Restore nicht gelöscht.
wpstg.backup.restore.keepExistingMediafalseWenn dieser Wert auf true gesetzt ist, werden vorhandene Uploads und Mediendateien vor dem Restore nicht gelöscht.
wpstg.backup.restore.keepExistingOtherFilesfalseWenn dieser Wert auf true gesetzt ist, werden andere Dateien in wp-content vor dem Restore nicht gelöscht.
wpstg.backup.restore.innodbStrictModeOfffalseWenn dieser Wert auf true gesetzt ist, wird der InnoDB Strict Mode während des Datenbankimports deaktiviert. Das kann hilfreich sein, wenn das Backup von einem Server mit abweichenden InnoDB-Einstellungen stammt.

Array-Filter

Diese Filter erwarten ein Array aus Strings.

FilternameStandardwertBeschreibung
wpstg.backup.restore.exclude_backup_parts[]Bestandteile des Backups, die beim Restore vollständig übersprungen werden sollen. Gültige Werte sind: plugins, themes, uploads, muplugins, wpcontent, wpstgdb, lang, dropins und wproot.
wpstg.backup.restore.exclude_paths[]Verzeichnispfade, die beim Wiederherstellen von Dateien ausgeschlossen werden sollen. Ein abschließender / wird automatisch ergänzt. Dadurch passt "starter-templates" auf Pfade mit starter-templates/, aber nicht auf starter-templates-pro/. Beispiel: ["starter-templates", "elementor"].
wpstg.backup.restore.exclude.tables[]Datenbanktabellen, die beim Datenbank-Restore übersprungen werden sollen. Beispiel: ["wp_comments", "wp_commentmeta"].
wpstg.database.import.excludedQueries[]SQL-Abfragen, die beim Import ausgeschlossen werden sollen. Jede Abfrage, die einen der angegebenen Strings enthält, wird übersprungen.

Wichtig: Bei exclude_paths ergänzt das Tool automatisch einen abschließenden Slash. So werden ungewollte Teiltreffer vermieden.

Beispielkonfigurationen

Restore ausführen, vorhandene Plugins und Themes aber behalten

{
  "version": 1,
  "filters": {
    "wpstg.backup.restore.keepExistingPlugins": true,
    "wpstg.backup.restore.keepExistingThemes": true
  }
}

Nur die Datenbank wiederherstellen

Mit dieser Konfiguration werden alle dateibezogenen Bestandteile des Backups übersprungen.

{
  "version": 1,
  "filters": {
    "wpstg.backup.restore.exclude_backup_parts": [
      "plugins",
      "themes",
      "uploads",
      "muplugins",
      "wpcontent",
      "dropins",
      "wproot",
      "lang"
    ]
  }
}

Bestimmte Tabellen vom Datenbank-Restore ausschließen

{
  "version": 1,
  "filters": {
    "wpstg.backup.restore.exclude.tables": [
      "wp_comments",
      "wp_commentmeta",
      "wp_wc_orders"
    ]
  }
}

Bestimmte Plugins und Themes vom Datei-Restore ausschließen

{
  "version": 1,
  "filters": {
    "wpstg.backup.restore.exclude_paths": [
      "starter-templates",
      "elementor",
      "themes/flavor"
    ]
  }
}

Nur Dateien wiederherstellen

Mit dieser Konfiguration wird der Datenbank-Restore übersprungen.

{
  "version": 1,
  "filters": {
    "wpstg.backup.restore.exclude_backup_parts": ["wpstgdb"]
  }
}

So werden die Filter verwendet

  1. Direkt durch Restorer: Die Filter keepExisting*, exclude_backup_parts und exclude_paths werden direkt von der Klasse Restorer ausgewertet. Sie steuern, welche Bestandteile wiederhergestellt werden, ob vorhandene Dateien vorab gelöscht werden und welche Pfade beim Restore übersprungen werden.
  2. Über ApplyFiltersTrait: Die datenbankbezogenen Filter wie exclude.tables, excludedQueries und innodbStrictModeOff werden von der enthaltenen Klasse DatabaseImporter über das ApplyFiltersTrait verarbeitet. Wenn keine WordPress-Hooks verfügbar sind, greift das Trait auf FilterConfig als Fallback zurück.

Validierung und Logging

  • Unbekannte Filternamen werden als Warnung protokolliert und ignoriert.
  • Falsche Datentypen, zum Beispiel ein Array statt eines booleschen Werts, werden als Warnung geloggt und übersprungen.
  • Alle aktiven Filter werden beim Start des Restores zu Debugging-Zwecken protokolliert.
  • Fehlerhaftes JSON führt zu einer Warnung. Der Restore läuft trotzdem mit den Standardwerten weiter.
  • Nicht unterstützte Konfigurationsversionen führen zu einer Warnung. In diesem Fall werden alle Filter übersprungen.

Debugging-Tipp: Wenn ein Filter scheinbar nicht greift, prüfen Sie zuerst die Restore-Logs. Dort finden Sie Hinweise auf unbekannte Filternamen, ungültige Datentypen, fehlerhaftes JSON oder eine nicht unterstützte Konfigurationsversion.

Sicherheit

  • Es werden nur freigegebene Filternamen akzeptiert.
  • Unterstützt werden nur primitive Datentypen wie bool und string sowie Arrays aus Strings.
  • Über die Konfigurationsdatei kann kein ausführbarer Code eingeschleust oder ausgeführt werden.

Updated on April 10, 2026

Rene Hermenau

Autor: Rene Hermenau

Über den Autor: René Hermenau ist Gründer von WP STAGING. Er arbeitet an WordPress-Backups, Staging, Migrationen, Datenbankverarbeitung und sicheren Deployment-Workflows.