Перейти до вмісту

Команди WP-CLI

Команди WP-CLI для управлiння плагiном з командного рядка. Автоматизуйте мiграцiї даних та перевiряйте конфiгурацiю.

  • WordPress з активним плагiном Polski for WooCommerce
  • WP-CLI версii 2.5 або новiшої
  • Доступ SSH до сервера або локальне середовище розробки

Команда мiграцii даних при оновленнi плагiна або перенесеннi магазину.

Okno terminala
wp polski migrate [<migration>] [--dry-run] [--force] [--batch-size=<number>]
АргументТипОбов’язковийОпис
<migration>stringНiНазва мiграцii (пропустити = всi очiкуванi)
ОпцiяОпис
--dry-runПоказати план мiграцii без виконання змiн
--forceПримусово повторити мiграцiю
--batch-size=NКiлькiсть записiв, що обробляються в однiй партii (за замовчуванням 100)
Назва мiграцiiОпис
omnibus_price_historyМiграцiя iсторii цiн Omnibus до новоi таблицi
checkboxes_v2Оновлення структури чекбоксiв до v2
gpsr_metaМiграцiя даних GPSR до нового формату meta
wishlist_to_dbПеренесення спискiв бажань з usermeta до видiленоi таблицi
delivery_time_formatОновлення формату часу доставки
badges_cache_rebuildПеребудова кешу мiток продуктiв
search_indexПеребудова iндексу AJAX-пошуку

Показати очiкуванi мiграцii:

Okno terminala
wp polski migrate --dry-run

Результат:

Oczekujące migracje:
1. omnibus_price_history - Migracja historii cen (ok. 5200 rekordów)
2. checkboxes_v2 - Aktualizacja checkboxów (3 rekordy)
Razem: 2 migracje
Tryb dry-run - żadne zmiany nie zostały wykonane.

Виконати всi очiкуванi мiграцii:

Okno terminala
wp polski migrate

Результат:

Wykonywanie migracji: omnibus_price_history...
Przetwarzanie partii 1/52 (100 rekordów)...
Przetwarzanie partii 2/52 (100 rekordów)...
...
Migracja omnibus_price_history zakończona. Zmigrowano 5200 rekordów.
Wykonywanie migracji: checkboxes_v2...
Migracja checkboxes_v2 zakończona. Zmigrowano 3 rekordy.
Wszystkie migracje zakończone pomyślnie.

Виконати конкретну мiграцiю з бiльшою партiєю:

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

Примусово повторити мiграцiю:

Okno terminala
wp polski migrate search_index --force

Якщо мiграцiя завершиться помилкою, плагiн:

  1. Покаже детальне повiдомлення про помилку
  2. Скасує змiни з поточної партii (rollback)
  3. Запише лог до wp-content/debug.log (якщо WP_DEBUG_LOG увiмкнено)
  4. Запам’ятає точку зупинки - наступний запуск продовжить з мiсця помилки
Okno terminala
wp polski migrate omnibus_price_history

Результат при помилцi:

Wykonywanie migracji: omnibus_price_history...
Przetwarzanie partii 23/52 (100 rekordów)...
BŁĄD: Nie można zapisać rekordu #2345 - naruszenie integralności danych.
Rollback partii 23 wykonany.
Migracja przerwana. Wykonaj ponownie, aby kontynuować od partii 23.

Команда тестування правильностi конфiгурацii магазину. Перевiряє всi модулi плагiна, юридичнi сторiнки, чекбокси та iнтеграцii.

Okno terminala
wp polski smoke-test [--module=<module>] [--format=<format>] [--verbose]
ОпцiяОпис
--module=<module>Тестувати лише обраний модуль
--format=<format>Формат виводу: table (за замовчуванням), json, csv
--verboseДетальна iнформацiя про кожний тест

Елементи, що тестуються

Section titled “Елементи, що тестуються”
МодульТести
complianceЮридичнi сторiнки, чекбокси, GPSR, Omnibus, DSA
checkoutКнопка замовлення, поля NIP, DOI
pricesОдиничнi цiни, ПДВ, час доставки
foodХарчова цiннiсть, алергени, Nutri-Score
storefrontWishlist, порiвняння, пошук, фiльтри, слайдер
integrationsREST API, шаблони, кеш, cron

Повний тест:

Okno terminala
wp polski smoke-test

Результат:

Polski for WooCommerce - Smoke Test
====================================
+---------------------+---------------------------+--------+
| Moduł | Test | Status |
+---------------------+---------------------------+--------+
| compliance | Regulamin sklepu | OK |
| compliance | Polityka prywatności | OK |
| compliance | Checkboxy kasy | OK |
| compliance | Dane GPSR | WARN |
| compliance | Cena Omnibus | OK |
| compliance | Formularz DSA | OK |
| checkout | Etykieta przycisku | OK |
| checkout | Pole NIP | OK |
| checkout | Double opt-in | OFF |
| prices | Cena jednostkowa | OK |
| prices | Informacja VAT | OK |
| prices | Czas dostawy | WARN |
| storefront | Wyszukiwarka AJAX | OK |
| storefront | Filtry AJAX | OK |
| integrations | REST API | OK |
| integrations | Szablony motywu | OK |
| integrations | Cache transient | OK |
| integrations | WP-Cron | OK |
+---------------------+---------------------------+--------+
Wynik: 15 OK, 2 WARN, 1 OFF

Статуси:

  • OK - тест пройшов успiшно
  • WARN - попередження, потребує перевiрки
  • FAIL - критична помилка
  • OFF - модуль вимкнено

Тест конкретного модуля з деталями:

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

Результат:

Test: compliance/regulamin
Strona ID: 45
Status: publish
Ostatnia aktualizacja: 2025-06-01
Liczba słów: 3200
Wynik: OK
Test: compliance/gpsr
Produkty z GPSR: 142/350 (40.6%)
Brak danych GPSR: 208 produktów
Wynik: WARN - Nie wszystkie produkty mają uzupełnione dane GPSR

Експорт у JSON (наприклад, для 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": "Regulamin sklepu opublikowany (ID: 45)"
}
]
}

Команда smoke-test повертає вiдповiдний код завершення:

КодОпис
0Всi тести OK
1Попередження (WARN)
2Критичнi помилки (FAIL)

Приклад використання в GitHub Actions:

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

Приклад у скриптi bash:

#!/bin/bash
wp polski smoke-test --format=json > /tmp/smoke-test.json
EXIT_CODE=$?
if [ $EXIT_CODE -eq 2 ]; then
echo "Testy Polski FAILED - sprawdź konfigurację"
exit 1
elif [ $EXIT_CODE -eq 1 ]; then
echo "Testy Polski WARN - sprawdź ostrzeżenia"
fi

Команди WP-CLI пiдтримують iнсталяцii WordPress Multisite. Використовуйте прапорець --url для вказання конкретного сайту:

Okno terminala
wp polski smoke-test --url=sklep1.twojadomena.pl
wp polski migrate --url=sklep2.twojadomena.pl

Повiдомлення про проблеми: github.com/wppoland/polski/issues

Ця сторінка має виключно інформаційний характер і не є юридичною консультацією. Перед впровадженням зверніться до юриста. Polski for WooCommerce - це програмне забезпечення з відкритим кодом (GPLv2), що надається без гарантій.