Zum Inhalt springen

WP-CLI-Befehle

WP-CLI-Befehle zur Verwaltung des Plugins über die Befehlszeile. Automatisiere Datenmigrationen und überprüfe die Konfiguration.

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

Datenmigration beim Plugin-Update oder beim Umzug des Shops.

Okno terminala
wp polski migrate [<migration>] [--dry-run] [--force] [--batch-size=<number>]
ArgumentTypErforderlichBeschreibung
<migration>stringNeinName der Migration (weglassen = alle ausstehenden)
OptionBeschreibung
--dry-runMigrationsplan anzeigen, ohne Änderungen vorzunehmen
--forceErzwingt die erneute Ausführung der Migration
--batch-size=NAnzahl der pro Stapel verarbeiteten Datensätze (Standard 100)
Name der MigrationBeschreibung
omnibus_price_historyMigration der Omnibus-Preishistorie in die neue Tabelle
checkboxes_v2Aktualisierung der Checkbox-Struktur auf v2
gpsr_metaMigration der GPSR-Daten in das neue Meta-Format
wishlist_to_dbÜbertragung der Wunschlisten von usermeta in eine dedizierte Tabelle
delivery_time_formatAktualisierung des Lieferzeitformats
badges_cache_rebuildNeuaufbau des Cache der Produktabzeichen
search_indexNeuaufbau des AJAX-Suchindex

Ausstehende Migrationen anzeigen:

Okno terminala
wp polski migrate --dry-run

Ergebnis:

Ausstehende Migrationen:
1. omnibus_price_history - Migration der Preishistorie (ca. 5200 Datensätze)
2. checkboxes_v2 - Aktualisierung der Checkboxen (3 Datensätze)
Insgesamt: 2 Migrationen
Dry-Run-Modus - es wurden keine Änderungen vorgenommen.

Alle ausstehenden Migrationen ausführen:

Okno terminala
wp polski migrate

Ergebnis:

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:

Okno terminala
wp polski migrate omnibus_price_history --batch-size=500

Erneute Ausführung einer Migration erzwingen:

Okno terminala
wp polski migrate search_index --force

Wenn eine Migration mit einem Fehler endet, wird das Plugin:

  1. Eine detaillierte Fehlermeldung anzeigen
  2. Die Änderungen des aktuellen Stapels rückgängig machen (Rollback)
  3. Ein Protokoll in wp-content/debug.log speichern (wenn WP_DEBUG_LOG aktiviert ist)
  4. Den Unterbrechungspunkt merken - die nächste Ausführung setzt an der Fehlerstelle fort
Okno terminala
wp polski migrate omnibus_price_history

Ergebnis 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.

Testet die Konfiguration des Shops: Module, Rechtsseiten, Checkboxen und Integrationen.

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

Vollständiger Test:

Okno terminala
wp polski smoke-test

Ergebnis:

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 OFF

Status:

  • OK - Test erfolgreich bestanden
  • WARN - Warnung, Überprüfung erforderlich
  • FAIL - kritischer Fehler
  • OFF - Modul deaktiviert

Test eines bestimmten Moduls mit Details:

Okno terminala
wp polski smoke-test --module=compliance --verbose

Ergebnis:

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-Daten

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

Okno terminala
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)"
}
]
}

Der Befehl smoke-test gibt einen 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 - Konfiguration prüfen"
exit 1
elif [ $EXIT_CODE -eq 1 ]; then
echo "Polski-Tests WARN - Warnungen prüfen"
fi

Die Befehle unterstützen WordPress Multisite. Gib die Seite mit dem Flag --url an:

Okno terminala
wp polski smoke-test --url=shop1.deinedomain.de
wp polski migrate --url=shop2.deinedomain.de

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

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