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
- Coloca un archivo llamado
wpstg-restore-config.jsonen el mismo directorio quewpstg-restore.php. - La herramienta lee la configuración al iniciarse y aplica los valores de filtro durante la restauración.
- 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 ser1.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 filtro | Predeterminado | Descripción |
|---|---|---|
wpstg.backup.restore.keepExistingPlugins | false | Cuando es true, los Plugins existentes no se eliminan antes de restaurar. Los Plugins del Backup se fusionan con el directorio existente. |
wpstg.backup.restore.keepExistingThemes | false | Cuando es true, los Themes existentes no se eliminan antes de restaurar. |
wpstg.backup.restore.keepExistingMuPlugins | false | Cuando es true, los mu-plugins existentes no se eliminan antes de restaurar. |
wpstg.backup.restore.keepExistingMedia | false | Cuando es true, los archivos de subidas y medios existentes no se eliminan antes de restaurar. |
wpstg.backup.restore.keepExistingOtherFiles | false | Cuando es true, otros archivos en wp-content no se eliminan antes de restaurar. |
wpstg.backup.restore.innodbStrictModeOff | false | Cuando 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 filtro | Predeterminado | Descripció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
- Directamente por
Restorer: Los filtroskeepExisting*,exclude_backup_partsyexclude_pathsson leídos directamente por la claseRestorerde 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. - A través de
ApplyFiltersTrait: Los filtros relacionados con la base de datos, comoexclude.tables,excludedQuerieseinnodbStrictModeOff, son consumidos por la claseDatabaseImporterincluida a través delApplyFiltersTrait. Este trait compruebaFilterConfigcomo 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
boolystring, más arrays de cadenas. - No es posible ejecutar código ni llamar funciones a través del archivo de configuración.