WP-CLI-Befehle
WP-CLI-Befehle zur Verwaltung des Plugins über die Befehlszeile. Automatisiere Datenmigrationen und überprüfe die Konfiguration.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- WordPress mit aktivem Plugin Polski for WooCommerce
- WP-CLI in der Version 2.5 oder neuer
- SSH-Zugang zum Server oder eine lokale Entwicklungsumgebung
wp polski migrate
Abschnitt betitelt „wp polski migrate“Datenmigration beim Plugin-Update oder beim Umzug des Shops.
wp polski migrate [<migration>] [--dry-run] [--force] [--batch-size=<number>]Argumente
Abschnitt betitelt „Argumente“| Argument | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
<migration> | string | Nein | Name der Migration (weglassen = alle ausstehenden) |
Optionen
Abschnitt betitelt „Optionen“| Option | Beschreibung |
|---|---|
--dry-run | Migrationsplan anzeigen, ohne Änderungen vorzunehmen |
--force | Erzwingt die erneute Ausführung der Migration |
--batch-size=N | Anzahl der pro Stapel verarbeiteten Datensätze (Standard 100) |
Verfügbare Migrationen
Abschnitt betitelt „Verfügbare Migrationen“| Name der Migration | Beschreibung |
|---|---|
omnibus_price_history | Migration der Omnibus-Preishistorie in die neue Tabelle |
checkboxes_v2 | Aktualisierung der Checkbox-Struktur auf v2 |
gpsr_meta | Migration der GPSR-Daten in das neue Meta-Format |
wishlist_to_db | Übertragung der Wunschlisten von usermeta in eine dedizierte Tabelle |
delivery_time_format | Aktualisierung des Lieferzeitformats |
badges_cache_rebuild | Neuaufbau des Cache der Produktabzeichen |
search_index | Neuaufbau des AJAX-Suchindex |
Beispiele
Abschnitt betitelt „Beispiele“Ausstehende Migrationen anzeigen:
wp polski migrate --dry-runErgebnis:
Ausstehende Migrationen: 1. omnibus_price_history - Migration der Preishistorie (ca. 5200 Datensätze) 2. checkboxes_v2 - Aktualisierung der Checkboxen (3 Datensätze)Insgesamt: 2 MigrationenDry-Run-Modus - es wurden keine Änderungen vorgenommen.Alle ausstehenden Migrationen ausführen:
wp polski migrateErgebnis:
Migration wird ausgeführt: omnibus_price_history... Stapel 1/52 wird verarbeitet (100 Datensätze)... Stapel 2/52 wird verarbeitet (100 Datensätze)... ... Migration omnibus_price_history abgeschlossen. 5200 Datensätze migriert.
Migration wird ausgeführt: checkboxes_v2... Migration checkboxes_v2 abgeschlossen. 3 Datensätze migriert.
Alle Migrationen erfolgreich abgeschlossen.Eine bestimmte Migration mit größerem Stapel ausführen:
wp polski migrate omnibus_price_history --batch-size=500Erneute Ausführung einer Migration erzwingen:
wp polski migrate search_index --forceFehlerbehandlung
Abschnitt betitelt „Fehlerbehandlung“Wenn eine Migration mit einem Fehler endet, wird das Plugin:
- Eine detaillierte Fehlermeldung anzeigen
- Die Änderungen des aktuellen Stapels rückgängig machen (Rollback)
- Ein Protokoll in
wp-content/debug.logspeichern (wennWP_DEBUG_LOGaktiviert ist) - Den Unterbrechungspunkt merken - die nächste Ausführung setzt an der Fehlerstelle fort
wp polski migrate omnibus_price_historyErgebnis bei einem Fehler:
Migration wird ausgeführt: omnibus_price_history... Stapel 23/52 wird verarbeitet (100 Datensätze)... FEHLER: Datensatz #2345 kann nicht gespeichert werden - Verletzung der Datenintegrität. Rollback von Stapel 23 durchgeführt. Migration unterbrochen. Erneut ausführen, um ab Stapel 23 fortzusetzen.wp polski smoke-test
Abschnitt betitelt „wp polski smoke-test“Testet die Konfiguration des Shops: Module, Rechtsseiten, Checkboxen und Integrationen.
wp polski smoke-test [--module=<module>] [--format=<format>] [--verbose]Optionen
Abschnitt betitelt „Optionen“| Option | Beschreibung |
|---|---|
--module=<module> | Nur das ausgewählte Modul testen |
--format=<format> | Ausgabeformat: table (Standard), json, csv |
--verbose | Detaillierte Informationen zu jedem Test |
Getestete Elemente
Abschnitt betitelt „Getestete Elemente“| Modul | Tests |
|---|---|
compliance | Rechtsseiten, Checkboxen, GPSR, Omnibus, DSA |
checkout | Bestellbutton, NIP-Felder, DOI |
prices | Grundpreise, MwSt., Lieferzeit |
food | Nährwerte, Allergene, Nutri-Score |
storefront | Wishlist, Vergleich, Suche, Filter, Slider |
integrations | REST API, Templates, Cache, Cron |
Beispiele
Abschnitt betitelt „Beispiele“Vollständiger Test:
wp polski smoke-testErgebnis:
Polski for WooCommerce - Smoke Test====================================
+---------------------+---------------------------+--------+| Modul | Test | Status |+---------------------+---------------------------+--------+| compliance | Shop-AGB | OK || compliance | Datenschutzerklärung | OK || compliance | Checkboxen an der Kasse | OK || compliance | GPSR-Daten | WARN || compliance | Omnibus-Preis | OK || compliance | DSA-Formular | OK || checkout | Button-Label | OK || checkout | NIP-Feld | OK || checkout | Double-Opt-in | OFF || prices | Grundpreis | OK || prices | MwSt.-Hinweis | OK || prices | Lieferzeit | WARN || storefront | AJAX-Suche | OK || storefront | AJAX-Filter | OK || integrations | REST API | OK || integrations | Theme-Templates | OK || integrations | Transient-Cache | OK || integrations | WP-Cron | OK |+---------------------+---------------------------+--------+
Ergebnis: 15 OK, 2 WARN, 1 OFFStatus:
- OK - Test erfolgreich bestanden
- WARN - Warnung, Überprüfung erforderlich
- FAIL - kritischer Fehler
- OFF - Modul deaktiviert
Test eines bestimmten Moduls mit Details:
wp polski smoke-test --module=compliance --verboseErgebnis:
Test: compliance/agb Seiten-ID: 45 Status: publish Letzte Aktualisierung: 2025-06-01 Wortanzahl: 3200 Ergebnis: OK
Test: compliance/gpsr Produkte mit GPSR: 142/350 (40.6%) Keine GPSR-Daten: 208 Produkte Ergebnis: WARN - Nicht alle Produkte haben ausgefüllte GPSR-DatenExport nach JSON (z. B. für 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": "Shop-AGB veröffentlicht (ID: 45)" } ]}Integration mit CI/CD
Abschnitt betitelt „Integration mit CI/CD“Der Befehl smoke-test gibt einen entsprechenden Exit-Code zurück:
| Code | Beschreibung |
|---|---|
| 0 | Alle Tests OK |
| 1 | Warnungen (WARN) |
| 2 | Kritische 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: falseBeispiel in einem Bash-Skript:
#!/bin/bashwp polski smoke-test --format=json > /tmp/smoke-test.json
EXIT_CODE=$?if [ $EXIT_CODE -eq 2 ]; then echo "Polski-Tests FAILED - Konfiguration prüfen" exit 1elif [ $EXIT_CODE -eq 1 ]; then echo "Polski-Tests WARN - Warnungen prüfen"fiMultisite
Abschnitt betitelt „Multisite“Die Befehle unterstützen WordPress Multisite. Gib die Seite mit dem Flag --url an:
wp polski smoke-test --url=shop1.deinedomain.dewp polski migrate --url=shop2.deinedomain.deProbleme melden: github.com/wppoland/polski/issues