Ir al contenido

WP-CLI commands

Comandos WP-CLI para gestionar el plugin desde la línea de comandos. Automatiza las migraciones de datos y verifica la configuración.

  • WordPress con el plugin Polski for WooCommerce activo
  • WP-CLI versión 2.5 o posterior
  • Acceso SSH al servidor o un entorno de desarrollo local

Comando de migración de datos para actualizaciones del plugin o traslados de la tienda.

Ventana de terminal
wp polski migrate [<migration>] [--dry-run] [--force] [--batch-size=<number>]
Argumento Tipo Obligatorio Descripción
<migration> string No Nombre de la migración (omitir = todas las pendientes)
Opción Descripción
--dry-run Mostrar el plan de migración sin ejecutar cambios
--force Forzar la reejecución de una migración
--batch-size=N Número de registros procesados por lote (predeterminado 100)
Nombre de la migración Descripción
omnibus_price_history Migrar el historial de precios Omnibus a una nueva tabla
checkboxes_v2 Actualizar la estructura de casillas a v2
gpsr_meta Migrar los datos GPSR al nuevo formato meta
wishlist_to_db Mover las listas de deseos de usermeta a una tabla dedicada
delivery_time_format Actualizar el formato del tiempo de entrega
badges_cache_rebuild Reconstruir la caché de las etiquetas de producto
search_index Reconstruir el índice de búsqueda AJAX

Mostrar las migraciones pendientes:

Ventana de terminal
wp polski migrate --dry-run

Salida:

Pending migrations:
1. omnibus_price_history - Price history migration (approx. 5200 records)
2. checkboxes_v2 - Checkbox update (3 records)
Total: 2 migrations
Dry-run mode - no changes were made.

Ejecutar todas las migraciones pendientes:

Ventana de terminal
wp polski migrate

Salida:

Executing migration: omnibus_price_history...
Processing batch 1/52 (100 records)...
Processing batch 2/52 (100 records)...
...
Migration omnibus_price_history completed. Migrated 5200 records.
Executing migration: checkboxes_v2...
Migration checkboxes_v2 completed. Migrated 3 records.
All migrations completed successfully.

Ejecutar una migración concreta con un lote mayor:

Ventana de terminal
wp polski migrate omnibus_price_history --batch-size=500

Forzar la reejecución de una migración:

Ventana de terminal
wp polski migrate search_index --force

Si una migración falla, el plugin:

  1. Muestra un mensaje de error detallado
  2. Revierte los cambios del lote actual
  3. Guarda un registro en wp-content/debug.log (si WP_DEBUG_LOG está habilitado)
  4. Recuerda el punto de interrupción - la siguiente ejecución continúa desde el lugar del error
Ventana de terminal
wp polski migrate omnibus_price_history

Salida en caso de error:

Executing migration: omnibus_price_history...
Processing batch 23/52 (100 records)...
ERROR: Cannot save record #2345 - data integrity violation.
Batch 23 rollback executed.
Migration interrupted. Run again to continue from batch 23.

Comando que prueba la corrección de la configuración de la tienda. Comprueba todos los módulos del plugin, las páginas legales, las casillas y las integraciones.

Ventana de terminal
wp polski smoke-test [--module=<module>] [--format=<format>] [--verbose]
Opción Descripción
--module=<module> Probar solo un módulo seleccionado
--format=<format> Formato de salida: table (predeterminado), json, csv
--verbose Información detallada de cada prueba
Módulo Pruebas
compliance Páginas legales, casillas, GPSR, Omnibus, DSA
checkout Botón de pedido, campos NIP, DOI
prices Precios unitarios, IVA, tiempo de entrega
food Valores nutricionales, alérgenos, Nutri-Score
storefront Lista de deseos, comparador, búsqueda, filtros, slider
integrations REST API, plantillas, caché, cron

Prueba completa:

Ventana de terminal
wp polski smoke-test

Salida:

Polski for WooCommerce - Smoke Test
====================================
+---------------------+---------------------------+--------+
| Module | Test | Status |
+---------------------+---------------------------+--------+
| compliance | Store terms | OK |
| compliance | Privacy policy | OK |
| compliance | Checkout checkboxes | OK |
| compliance | GPSR data | WARN |
| compliance | Omnibus price | OK |
| compliance | DSA form | OK |
| checkout | Button label | OK |
| checkout | NIP field | OK |
| checkout | Double opt-in | OFF |
| prices | Unit price | OK |
| prices | VAT information | OK |
| prices | Delivery time | WARN |
| storefront | AJAX search | OK |
| storefront | AJAX filters | OK |
| integrations | REST API | OK |
| integrations | Theme templates | OK |
| integrations | Transient cache | OK |
| integrations | WP-Cron | OK |
+---------------------+---------------------------+--------+
Result: 15 OK, 2 WARN, 1 OFF

Estados:

  • OK - la prueba se ha superado correctamente
  • WARN - advertencia, requiere comprobación
  • FAIL - error crítico
  • OFF - módulo desactivado

Probar un módulo concreto con detalles:

Ventana de terminal
wp polski smoke-test --module=compliance --verbose

Exportar a JSON (p. ej. para CI/CD):

Ventana de terminal
wp polski smoke-test --format=json
{
"timestamp": "2025-06-15T12:00:00+02:00",
"total_tests": 18,
"passed": 15,
"warnings": 2,
"failed": 0,
"disabled": 1,
"tests": [
{
"module": "compliance",
"test": "terms_page",
"status": "ok",
"message": "Store terms published (ID: 45)"
}
]
}

El comando smoke-test devuelve el código de salida correspondiente:

Código Descripción
0 Todas las pruebas OK
1 Advertencias (WARN)
2 Errores críticos (FAIL)

Ejemplo de uso en GitHub Actions:

- name: Polski smoke test
run: wp polski smoke-test --format=json > smoke-test-results.json
continue-on-error: false

Ejemplo en un script bash:

#!/bin/bash
wp polski smoke-test --format=json > /tmp/smoke-test.json
EXIT_CODE=$?
if [ $EXIT_CODE -eq 2 ]; then
echo "Polski tests FAILED - check configuration"
exit 1
elif [ $EXIT_CODE -eq 1 ]; then
echo "Polski tests WARN - check warnings"
fi

Los comandos WP-CLI son compatibles con las instalaciones WordPress Multisite. Usa la opción --url para dirigirte a un sitio concreto:

Ventana de terminal
wp polski smoke-test --url=store1.yourdomain.com
wp polski migrate --url=store2.yourdomain.com

Informar de problemas: github.com/wppoland/polski/issues

Esta página tiene únicamente carácter informativo y no constituye asesoramiento legal. Consulta con un abogado antes de la implementación. Polski for WooCommerce es software de código abierto (GPLv2) proporcionado sin garantía.