Час доставки
Польське право вимагає, щоб магазин інформував про час доставки перед замовленням. Плагін Polski for WooCommerce дозволяє встановити час доставки глобально, для кожного продукту та варіанту.
Правові вимоги
Section titled “Правові вимоги”Вкажіть час доставки, перш ніж клієнт натисне кнопку замовлення. Інформація повинна бути:
- зрозумілою та чіткою
- вказана у робочих або календарних днях
- видимою на сторінці продукту
Відсутність інформації про час доставки може призвести до штрафів з боку UOKiK та становить порушення прав споживача.
Таксономія polski_delivery_time
Section titled “Таксономія polski_delivery_time”Плагін реєструє спеціалізовану таксономію polski_delivery_time, яка дозволяє створювати попередньо визначені терміни доставки та призначати їх продуктам.
Управління термінами доставки
Section titled “Управління термінами доставки”Перейдіть до Продукти > Час доставки, щоб керувати доступними термінами.
Приклади термінів:
| Назва | Slug | Опис |
|---|---|---|
| 1-2 робочі дні | 1-2-dni-robocze | Продукти на складі |
| 3-5 робочих днів | 3-5-dni-roboczych | Продукти, що замовляються у постачальника |
| 7-14 робочих днів | 7-14-dni-roboczych | Продукти на замовлення |
| До 24 годин | do-24-godzin | Цифрові продукти / експрес |
| Доступний одразу | dostepny-od-reki | Негайна реалізація |
Терміни доставки працюють як таксономія WordPress - ви можете їх створювати, редагувати та видаляти в адміністративній панелі.
Налаштування
Section titled “Налаштування”Глобальні налаштування
Section titled “Глобальні налаштування”Перейдіть до WooCommerce > Налаштування > Polski > Ціни та налаштуйте розділ “Час доставки”.
| Налаштування | Опис |
|---|---|
| Увімкнути час доставки | Активує відображення на сторінці продукту |
| Час доставки за замовчуванням | Резервне значення (fallback) для продуктів без призначеного терміну |
| Показати у лістингу | Відображає час доставки на сторінках категорій |
| Показати у кошику | Відображає час доставки у кошику |
| Мітка | Текст перед часом доставки (за замовчуванням: “Час доставки:“) |
Fallback за замовчуванням
Section titled “Fallback за замовчуванням”Час доставки за замовчуванням (fallback) відображається, коли продукт не має призначеного індивідуального терміну. Це дозволяє швидко впровадити функцію без необхідності редагування кожного продукту окремо.
Ієрархія відображення:
- Час доставки варіанту (якщо встановлений)
- Час доставки основного продукту (якщо встановлений)
- Час доставки за замовчуванням з глобальних налаштувань (fallback)
Якщо жодне з вищезазначених значень не встановлено, інформація про час доставки не буде відображена.
Призначення продукту
Section titled “Призначення продукту”У редакторі продукту, у вкладці “Доставка”, ви знайдете поле Час доставки. Виберіть з переліку існуючий термін або створіть новий.
Призначення варіанту
Section titled “Призначення варіанту”Для змінних продуктів кожен варіант може мати власний час доставки. Розгорніть секцію варіанту та встановіть індивідуальний термін. Варіанти без встановленого терміну успадковують значення від основного продукту.
Shortcode
Section titled “Shortcode”Використовуйте shortcode [polski_delivery_time], щоб відобразити час доставки у будь-якому місці.
Параметри
Section titled “Параметри”| Параметр | Тип | За замовчуванням | Опис |
|---|---|---|---|
product_id | int | поточний | ID продукту |
label | string | "Czas dostawy: " | Мітка перед значенням |
show_label | bool | true | Чи відображати мітку |
wrapper | string | span | HTML-елемент обгортки |
fallback | string | "" | Текст, коли час доставки відсутній |
Приклади використання
Section titled “Приклади використання”Базове використання:
[polski_delivery_time]Результат: Czas dostawy: 1-2 dni robocze
Без мітки:
[polski_delivery_time show_label="false"]Результат: 1-2 dni robocze
З власною міткою та fallback:
[polski_delivery_time label="Wysyłka: " fallback="Zapytaj o dostępność"]Для конкретного продукту:
[polski_delivery_time product_id="456"]У шаблоні PHP:
echo do_shortcode('[polski_delivery_time product_id="' . $product->get_id() . '"]');Програмне управління часом доставки
Section titled “Програмне управління часом доставки”Призначення терміну продукту
Section titled “Призначення терміну продукту”wp_set_object_terms($product_id, '1-2-dni-robocze', 'polski_delivery_time');Отримання терміну продукту
Section titled “Отримання терміну продукту”$terms = wp_get_object_terms($product_id, 'polski_delivery_time');if (!empty($terms) && !is_wp_error($terms)) { $delivery_time = $terms[0]->name;}Створення нового терміну
Section titled “Створення нового терміну”wp_insert_term( '2-3 dni robocze', 'polski_delivery_time', [ 'slug' => '2-3-dni-robocze', 'description' => 'Standardowy czas realizacji', ]);Імпорт CSV
Section titled “Імпорт CSV”Для імпорту часу доставки через CSV використовуйте колонку:
| Колонка CSV | Опис | Значення |
|---|---|---|
polski_delivery_time | Назва терміну доставки | 1-2 dni robocze |
Якщо термін із зазначеною назвою не існує, він буде автоматично створений під час імпорту.
Приклад:
"Laptop Dell XPS 15",5499.00,"3-5 dni roboczych""Mysz Logitech MX",299.00,"1-2 dni robocze"Динамічний час доставки
Section titled “Динамічний час доставки”Для продуктів із тривалим терміном реалізації можна програмно змінювати відображуваний час доставки на основі залишків на складі або дати замовлення.
add_filter('polski/delivery_time/display', function (string $delivery_time, WC_Product $product): string { if ($product->get_stock_quantity() > 0) { return '1-2 dni robocze'; }
return '7-14 dni roboczych';}, 10, 2);Стилізація CSS
Section titled “Стилізація CSS”.polski-delivery-time { display: inline-block; margin-top: 0.5em; font-size: 0.9em; color: #2e7d32;}
.polski-delivery-time__label { font-weight: 600;}
.polski-delivery-time__value { color: #333;}Найпоширеніші проблеми
Section titled “Найпоширеніші проблеми”Час доставки не відображається
Section titled “Час доставки не відображається”- Перевірте, чи модуль увімкнено в налаштуваннях
- Переконайтеся, що продукт має призначений термін або встановлено fallback за замовчуванням
- Перевірте, чи тема підтримує hook
woocommerce_single_product_summary
Час доставки варіанту не змінюється після вибору
Section titled “Час доставки варіанту не змінюється після вибору”Переконайтеся, що JavaScript плагіна завантажений. Перевірте консоль браузера на наявність помилок JS. Плагін оновлює час доставки варіанту через AJAX при зміні опції.