Skip to content

WP-CLI commands

WP-CLI-Befehle zur Verwaltung des Plugins über die Befehlszeile. Automatisieren Sie Datenmigrationen und überprüfen Sie die Konfiguration.

  • WordPress mit aktivem Plugin Polski for WooCommerce
  • WP-CLI Version 2.5 oder neuer
  • SSH-Zugang zum Server oder eine lokale Entwicklungsumgebung

Datenmigrationsbefehl für Plugin-Updates oder Shop-Umzüge.

Terminal window
wp polski migrate [<migration>] [--dry-run] [--force] [--batch-size=<number>]
ArgumentTypErforderlichBeschreibung
<migration>stringNeinName der Migration (weglassen = alle ausstehenden)
OptionBeschreibung
--dry-runMigrationsplan anzeigen, ohne Änderungen auszuführen
--forceErneute Ausführung einer Migration erzwingen
--batch-size=NAnzahl der pro Stapel verarbeiteten Datensätze (Standard 100)
Name der MigrationBeschreibung
omnibus_price_historyOmnibus-Preisverlauf in neue Tabelle migrieren
checkboxes_v2Checkbox-Struktur auf v2 aktualisieren
gpsr_metaGPSR-Daten in neues Meta-Format migrieren
wishlist_to_dbWunschlisten von usermeta in eine dedizierte Tabelle verschieben
delivery_time_formatFormat der Lieferzeit aktualisieren
badges_cache_rebuildCache der Produkt-Badges neu aufbauen
search_indexAJAX-Suchindex neu aufbauen

Ausstehende Migrationen anzeigen:

Terminal window
wp polski migrate --dry-run

Ausgabe:

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.

Alle ausstehenden Migrationen ausführen:

Terminal window
wp polski migrate

Ausgabe:

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.

Eine bestimmte Migration mit größerem Stapel ausführen:

Terminal window
wp polski migrate omnibus_price_history --batch-size=500

Erneute Ausführung einer Migration erzwingen:

Terminal window
wp polski migrate search_index --force

Wenn eine Migration fehlschlägt, verhält sich das Plugin wie folgt:

  1. Es zeigt eine detaillierte Fehlermeldung an
  2. Es macht die Änderungen des aktuellen Stapels rückgängig
  3. Es speichert ein Log in wp-content/debug.log (wenn WP_DEBUG_LOG aktiviert ist)
  4. Es merkt sich den Haltepunkt - der nächste Lauf setzt an der Fehlerstelle fort
Terminal window
wp polski migrate omnibus_price_history

Ausgabe bei Fehler:

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.

Befehl zum Testen der Korrektheit der Shop-Konfiguration. Prüft alle Plugin-Module, rechtlichen Seiten, Checkboxen und Integrationen.

Terminal window
wp polski smoke-test [--module=<module>] [--format=<format>] [--verbose]
OptionBeschreibung
--module=<module>Nur ein ausgewähltes Modul testen
--format=<format>Ausgabeformat: table (Standard), json, csv
--verboseDetaillierte Informationen zu jedem Test
ModulTests
complianceRechtliche Seiten, Checkboxen, GPSR, Omnibus, DSA
checkoutBestellbutton, NIP-Felder, DOI
pricesGrundpreise, MwSt., Lieferzeit
foodNährwerte, Allergene, Nutri-Score
storefrontWunschliste, Vergleich, Suche, Filter, Slider
integrationsREST API, Templates, Cache, Cron

Vollständiger Test:

Terminal window
wp polski smoke-test

Ausgabe:

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

Status:

  • OK - Test erfolgreich bestanden
  • WARN - Warnung, muss geprüft werden
  • FAIL - kritischer Fehler
  • OFF - Modul deaktiviert

Ein bestimmtes Modul mit Details testen:

Terminal window
wp polski smoke-test --module=compliance --verbose

Export nach JSON (z. B. für CI/CD):

Terminal window
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)"
}
]
}

Der Befehl smoke-test gibt den entsprechenden Exit-Code zurück:

CodeBeschreibung
0Alle Tests OK
1Warnungen (WARN)
2Kritische Fehler (FAIL)

Beispiel für die Verwendung in GitHub Actions:

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

Beispiel in einem Bash-Skript:

#!/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

Die WP-CLI-Befehle unterstützen WordPress-Multisite-Installationen. Verwenden Sie die Flag --url, um eine bestimmte Website anzusprechen:

Terminal window
wp polski smoke-test --url=store1.yourdomain.com
wp polski migrate --url=store2.yourdomain.com

Probleme melden: github.com/wppoland/polski/issues

Diese Seite dient ausschließlich zu Informationszwecken und stellt keine Rechtsberatung dar. Konsultieren Sie vor der Umsetzung einen Anwalt. Polski for WooCommerce ist Open-Source-Software (GPLv2), die ohne Gewährleistung bereitgestellt wird.