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.
Requisitos
Section titled “Requisitos”- 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
wp polski migrate
Section titled “wp polski migrate”Comando de migración de datos para actualizaciones del plugin o traslados de la tienda.
Sintaxis
Section titled “Sintaxis”wp polski migrate [<migration>] [--dry-run] [--force] [--batch-size=<number>]Argumentos
Section titled “Argumentos”| Argumento | Tipo | Obligatorio | Descripción |
|---|---|---|---|
<migration> | string | No | Nombre de la migración (omitir = todas las pendientes) |
Opciones
Section titled “Opciones”| 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) |
Migraciones disponibles
Section titled “Migraciones disponibles”| 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 |
Ejemplos
Section titled “Ejemplos”Mostrar las migraciones pendientes:
wp polski migrate --dry-runSalida:
Pending migrations: 1. omnibus_price_history - Price history migration (approx. 5200 records) 2. checkboxes_v2 - Checkbox update (3 records)Total: 2 migrationsDry-run mode - no changes were made.Ejecutar todas las migraciones pendientes:
wp polski migrateSalida:
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:
wp polski migrate omnibus_price_history --batch-size=500Forzar la reejecución de una migración:
wp polski migrate search_index --forceGestión de errores
Section titled “Gestión de errores”Si una migración falla, el plugin:
- Muestra un mensaje de error detallado
- Revierte los cambios del lote actual
- Guarda un registro en
wp-content/debug.log(siWP_DEBUG_LOGestá habilitado) - Recuerda el punto de interrupción - la siguiente ejecución continúa desde el lugar del error
wp polski migrate omnibus_price_historySalida 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.wp polski smoke-test
Section titled “wp polski smoke-test”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.
Sintaxis
Section titled “Sintaxis”wp polski smoke-test [--module=<module>] [--format=<format>] [--verbose]Opciones
Section titled “Opciones”| 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 |
Elementos probados
Section titled “Elementos probados”| 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 |
Ejemplos
Section titled “Ejemplos”Prueba completa:
wp polski smoke-testSalida:
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 OFFEstados:
- 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:
wp polski smoke-test --module=compliance --verboseExportar a JSON (p. ej. para CI/CD):
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)" } ]}Integración con CI/CD
Section titled “Integración con CI/CD”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: falseEjemplo en un script bash:
#!/bin/bashwp polski smoke-test --format=json > /tmp/smoke-test.json
EXIT_CODE=$?if [ $EXIT_CODE -eq 2 ]; then echo "Polski tests FAILED - check configuration" exit 1elif [ $EXIT_CODE -eq 1 ]; then echo "Polski tests WARN - check warnings"fiMultisite
Section titled “Multisite”Los comandos WP-CLI son compatibles con las instalaciones WordPress Multisite. Usa la opción --url para dirigirte a un sitio concreto:
wp polski smoke-test --url=store1.yourdomain.comwp polski migrate --url=store2.yourdomain.comInformar de problemas: github.com/wppoland/polski/issues