Outil de restauration WP Staging – Configuration des filtres

L’outil de restauration autonome permet de personnaliser le comportement de restauration via un fichier de configuration JSON. Cela fournit une personnalisation basée sur des filtres similaire au plugin WordPress, mais sans nécessiter que WordPress soit en cours d’exécution.

Remarque : Si aucun fichier wpstg-restore-config.json n’existe, l’outil de restauration fonctionne avec son comportement par défaut normal.

Comment ça fonctionne

  1. Place un fichier nommé wpstg-restore-config.json dans le même répertoire que wpstg-restore.php.
  2. L’outil lit la configuration au démarrage et applique les valeurs des filtres pendant la restauration.
  3. Si aucun fichier de configuration n’existe, l’outil se comporte normalement en utilisant toutes les valeurs par défaut.

Format du fichier de configuration

{
  "version": 1,
  "filters": {
    "filter.name": "value"
  }
}
  • version : Version du schéma. Doit être 1.
  • filters : Objet associant les noms de filtres à leurs valeurs.

Consulte wpstg-restore-config.example.json pour un exemple complet avec tous les filtres définis sur leurs valeurs par défaut.

Filtres disponibles

Filtres booléens

Ces filtres acceptent true ou false.

Nom du filtreDéfautDescription
wpstg.backup.restore.keepExistingPluginsfalseQuand true, les plugins existants ne sont pas supprimés avant la restauration. Les plugins de la sauvegarde sont fusionnés dans le répertoire existant.
wpstg.backup.restore.keepExistingThemesfalseQuand true, les themes existants ne sont pas supprimés avant la restauration.
wpstg.backup.restore.keepExistingMuPluginsfalseQuand true, les mu-plugins existants ne sont pas supprimés avant la restauration.
wpstg.backup.restore.keepExistingMediafalseQuand true, les fichiers médias et les téléchargements existants ne sont pas supprimés avant la restauration.
wpstg.backup.restore.keepExistingOtherFilesfalseQuand true, les autres fichiers dans wp-content ne sont pas supprimés avant la restauration.
wpstg.backup.restore.innodbStrictModeOfffalseQuand true, désactive le mode strict InnoDB pendant l’import de la base de données. Utile lors de la restauration depuis un serveur avec des paramètres InnoDB différents.

Filtres de tableau

Ces filtres acceptent un tableau de chaînes.

Nom du filtreDéfautDescription
wpstg.backup.restore.exclude_backup_parts[]Parties à ignorer entièrement pendant la restauration. Valeurs valides : plugins, themes, uploads, muplugins, wpcontent, wpstgdb, lang, dropins, wproot.
wpstg.backup.restore.exclude_paths[]Chemins de répertoire à exclure lors de la restauration de fichiers. Un slash final / est ajouté automatiquement, donc "starter-templates" correspond aux chemins contenant starter-templates/ mais pas starter-templates-pro/. Exemple : ["starter-templates", "elementor"].
wpstg.backup.restore.exclude.tables[]Noms de tables de base de données à ignorer lors de la restauration de la base de données. Exemple : ["wp_comments", "wp_commentmeta"].
wpstg.database.import.excludedQueries[]Motifs de requêtes SQL à ignorer lors de l’import de la base de données. Les requêtes contenant l’une de ces chaînes seront exclues.

Important : Pour exclude_paths, un slash final est ajouté automatiquement. Cela permet d’éviter les correspondances partielles accidentelles.

Exemples de configurations

Restaurer en conservant les plugins et themes existants

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

Restaurer uniquement la base de données

Utilise cette configuration pour ignorer toutes les parties de sauvegarde liées aux fichiers.

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

Exclure des tables spécifiques de la restauration de la base de données

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

Exclure des plugins et themes spécifiques de la restauration de fichiers

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

Restaurer uniquement les fichiers

Utilise cette configuration pour ignorer la restauration de la base de données.

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

Comment les filtres sont consommés

  1. Directement par Restorer : Les filtres keepExisting*, exclude_backup_parts et exclude_paths sont lus directement par la classe Restorer de l’outil de restauration pour contrôler quelles parties sont restaurées, si les fichiers existants sont supprimés en premier et quels chemins de fichiers ignorer pendant la restauration.
  2. Via ApplyFiltersTrait : Les filtres liés à la base de données tels que exclude.tables, excludedQueries et innodbStrictModeOff sont consommés par la classe DatabaseImporter intégrée via ApplyFiltersTrait. Ce trait vérifie FilterConfig comme solution de repli lorsque les hooks WordPress ne sont pas disponibles.

Validation et journalisation

  • Les noms de filtres inconnus sont enregistrés comme avertissements et ignorés.
  • Les incompatibilités de type, par exemple définir un filtre booléen sur un tableau, sont enregistrées comme avertissements et ignorées.
  • Tous les filtres actifs sont enregistrés au démarrage de la restauration à des fins de débogage.
  • Un JSON mal formé produit un avertissement et la restauration continue avec le comportement par défaut.
  • Les versions de configuration non prises en charge produisent un avertissement et tous les filtres sont ignorés.

Astuce de débogage : Si un filtre ne semble pas s’appliquer, vérifie d’abord les journaux de restauration pour les avertissements concernant des noms de filtres inconnus, des types invalides, un JSON mal formé ou une version de configuration non prise en charge.

Sécurité

  • Seuls les noms de filtres en liste blanche sont acceptés.
  • Seuls les types primitifs tels que bool et string, ainsi que les tableaux de chaînes, sont pris en charge.
  • Aucun code exécutable ni appel de fonction n’est possible via le fichier de configuration.

Updated on mai 23, 2026

Rene Hermenau

Auteur : Rene Hermenau

About the author: René Hermenau is the founder of WP STAGING. He works on WordPress backups, staging, migrations, database handling, and safe deployment workflows.