Herramienta de restauración de WP Staging – Configuración de filtros

La herramienta de restauración independiente permite personalizar el comportamiento de la restauración mediante un archivo de configuración JSON. Esto proporciona una personalización basada en filtros similar a la del Plugin de WordPress, pero sin necesidad de que WordPress esté en ejecución.

Nota: Si no existe ningún archivo wpstg-restore-config.json, la herramienta de restauración se ejecuta con su comportamiento predeterminado normal.

Cómo funciona

  1. Coloca un archivo llamado wpstg-restore-config.json en el mismo directorio que wpstg-restore.php.
  2. La herramienta lee la configuración al iniciarse y aplica los valores de filtro durante la restauración.
  3. Si no existe ningún archivo de configuración, la herramienta se comporta de la manera habitual utilizando todos los valores predeterminados.

Formato del archivo de configuración

{
  "version": 1,
  "filters": {
    "filter.name": "value"
  }
}
  • version: Versión del esquema. Debe ser 1.
  • filters: Objeto que asigna nombres de filtro a sus valores.

Consulta wpstg-restore-config.example.json para ver un ejemplo completo con todos los filtros establecidos en sus valores predeterminados.

Filtros disponibles

Filtros booleanos

Estos filtros aceptan true o false.

Nombre del filtroPredeterminadoDescripción
wpstg.backup.restore.keepExistingPluginsfalseCuando es true, los Plugins existentes no se eliminan antes de restaurar. Los Plugins del Backup se fusionan con el directorio existente.
wpstg.backup.restore.keepExistingThemesfalseCuando es true, los Themes existentes no se eliminan antes de restaurar.
wpstg.backup.restore.keepExistingMuPluginsfalseCuando es true, los mu-plugins existentes no se eliminan antes de restaurar.
wpstg.backup.restore.keepExistingMediafalseCuando es true, los archivos de subidas y medios existentes no se eliminan antes de restaurar.
wpstg.backup.restore.keepExistingOtherFilesfalseCuando es true, otros archivos en wp-content no se eliminan antes de restaurar.
wpstg.backup.restore.innodbStrictModeOfffalseCuando es true, desactiva el modo estricto de InnoDB durante la importación de la base de datos. Útil al restaurar desde un servidor con diferentes ajustes de InnoDB.

Filtros de array

Estos filtros aceptan un array de cadenas de texto.

Nombre del filtroPredeterminadoDescripción
wpstg.backup.restore.exclude_backup_parts[]Partes a omitir completamente durante la restauración. Valores válidos: plugins, themes, uploads, muplugins, wpcontent, wpstgdb, lang, dropins, wproot.
wpstg.backup.restore.exclude_paths[]Rutas de directorio a excluir durante la restauración de archivos. Se añade automáticamente una barra final /, por lo que "starter-templates" coincide con rutas que contienen starter-templates/ pero no starter-templates-pro/. Ejemplo: ["starter-templates", "elementor"].
wpstg.backup.restore.exclude.tables[]Nombres de tablas de base de datos a omitir durante la restauración de la base de datos. Ejemplo: ["wp_comments", "wp_commentmeta"].
wpstg.database.import.excludedQueries[]Patrones de consultas SQL a omitir durante la importación de la base de datos. Se excluirán las consultas que contengan alguna de estas cadenas.

Importante: Para exclude_paths, se añade automáticamente una barra final. Esto ayuda a evitar coincidencias parciales accidentales.

Configuraciones de ejemplo

Restaurar pero conservar los Plugins y Themes existentes

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

Restaurar solo la base de datos

Usa esta configuración para omitir todas las partes del Backup relacionadas con archivos.

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

Excluir tablas específicas de la restauración de base de datos

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

Excluir Plugins y Themes específicos de la restauración de archivos

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

Restaurar solo los archivos

Usa esta configuración para omitir la restauración de la base de datos.

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

Cómo se procesan los filtros

  1. Directamente por Restorer: Los filtros keepExisting*, exclude_backup_parts y exclude_paths son leídos directamente por la clase Restorer de la herramienta de restauración para controlar qué partes se restauran, si los archivos existentes se eliminan primero y qué rutas de archivo se omiten durante la restauración.
  2. A través de ApplyFiltersTrait: Los filtros relacionados con la base de datos, como exclude.tables, excludedQueries e innodbStrictModeOff, son consumidos por la clase DatabaseImporter incluida a través del ApplyFiltersTrait. Este trait comprueba FilterConfig como alternativa cuando los hooks de WordPress no están disponibles.

Validación y registro

  • Los nombres de filtro desconocidos se registran como advertencias y se ignoran.
  • Los errores de tipo, por ejemplo, establecer un filtro booleano como array, se registran como advertencias y se omiten.
  • Todos los filtros activos se registran al iniciar la restauración para facilitar la depuración.
  • El JSON malformado genera una advertencia y la restauración continúa con el comportamiento predeterminado.
  • Las versiones de configuración no admitidas generan una advertencia y se omiten todos los filtros.

Consejo de depuración: Si un filtro no parece aplicarse, comprueba primero los registros de restauración para ver si hay advertencias sobre nombres de filtro desconocidos, tipos no válidos, JSON malformado o una versión de configuración no admitida.

Seguridad

  • Solo se aceptan nombres de filtro en lista blanca.
  • Solo se admiten tipos primitivos como bool y string, más arrays de cadenas.
  • No es posible ejecutar código ni llamar funciones a través del archivo de configuración.

Updated on mayo 22, 2026

Rene Hermenau

Autor: 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.