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

Передпродаж (pre-orders)

Модуль передпродажу дозволяє позначати продукти як pre-order, відображати дату випуску та змінювати текст кнопки. Корисний у магазинах з електронікою, книгами, іграми та іншими продуктами, що пропонуються до випуску.

Глобальне налаштування

Section titled “Глобальне налаштування”

Перейдіть до WooCommerce > Налаштування > Polski PRO > Передпродаж.

НалаштуванняЗначення за замовчуваннямОпис
Текст кнопки”Замовити у передпродажі”Глобальний текст кнопки для продуктів pre-order
Текст доступності”Доступно від {date}“Шаблон тексту, що відображається замість стану складу
Формат датиd.m.YФормат відображення дати випуску
Блокувати змішування кошикаТакЗабороняє додавати стандартні продукти до кошика з pre-order
Повідомлення блокування”Продукти у передпродажі потрібно замовляти окремо.”Повідомлення, що відображається при спробі змішування

Налаштування знайдете в редагуванні продукту, вкладка Загальні.

Мета-полеКлючТипОпис
Увімкнути передпродаж_polski_preorder_enabledboolПозначає продукт як pre-order
Дата випуску_polski_preorder_release_datestring (Y-m-d)Дата, від якої продукт доступний стандартно
Текст кнопки_polski_preorder_button_textstringПерекриває глобальний текст кнопки для цього продукту
Текст доступності_polski_preorder_availability_textstringПерекриває глобальний текст доступності

Налаштування через WP-CLI

Section titled “Налаштування через WP-CLI”
Okno terminala
wp post meta update 123 _polski_preorder_enabled "yes"
wp post meta update 123 _polski_preorder_release_date "2026-06-15"
wp post meta update 123 _polski_preorder_button_text "Zamów teraz - premiera 15 czerwca"

Програмне налаштування

Section titled “Програмне налаштування”
update_post_meta($product_id, '_polski_preorder_enabled', 'yes');
update_post_meta($product_id, '_polski_preorder_release_date', '2026-06-15');

Відображення на фронтенді

Section titled “Відображення на фронтенді”

Кнопка “Додати до кошика” змінюється на текст передпродажу. Стосується:

  • Сторінки окремого продукту
  • Сторінок архіву, категорій та тегів
  • Результатів пошуку
  • Блоків WooCommerce (Product Grid, Product Collection)

Замість стану складу відображається текст з датою випуску. Заповнювач {date} замінюється на дату.

Приклад відображення:

Доступно від 15.06.2026

Автоматична деактивація

Section titled “Автоматична деактивація”

Після дати випуску продукт автоматично повертається до стандартного режиму. WP-Cron перевіряє це щодня о 00:01.

/**
* Akcja wywoływana po automatycznej dezaktywacji przedsprzedaży.
*
* @param int $product_id ID produktu
* @param string $release_date Data premiery (Y-m-d)
*/
do_action('polski_pro/preorder/deactivated', int $product_id, string $release_date);

Приклад - сповіщення клієнтів про доступність:

add_action('polski_pro/preorder/deactivated', function (int $product_id, string $release_date): void {
$subscribers = get_post_meta($product_id, '_polski_preorder_subscribers', true);
if (is_array($subscribers)) {
foreach ($subscribers as $email) {
wp_mail(
$email,
'Produkt jest już dostępny!',
sprintf('Produkt %s jest teraz dostępny do zakupu.', get_the_title($product_id))
);
}
}
}, 10, 2);

Блокування змішування продуктів

Section titled “Блокування змішування продуктів”

Коли “Блокувати змішування кошика” увімкнено, клієнт не може додати одночасно:

  • Продукти у передпродажі та стандартні продукти
  • Продукти pre-order з різними датами випуску (опціонально)

При спробі змішування відображається повідомлення блокування.

/**
* Filtruje, czy koszyk może zawierać mieszane typy produktów.
*
* @param bool $allow Czy pozwolić na mieszanie (domyślnie false)
* @param int $product_id ID dodawanego produktu
* @param array $cart_items Aktualne produkty w koszyku
*/
apply_filters('polski_pro/preorder/allow_mixed_cart', bool $allow, int $product_id, array $cart_items): bool;

Приклад - дозвіл на змішування для VIP:

add_filter('polski_pro/preorder/allow_mixed_cart', function (bool $allow, int $product_id, array $cart_items): bool {
if (current_user_can('manage_woocommerce')) {
return true;
}
return $allow;
}, 10, 3);

Відображення зворотного відліку до дати випуску:

[polski_preorder_countdown product_id="123" format="days" label="Do premiery pozostało:"]
ПараметрОбов’язковийОпис
product_idНіID продукту (за замовчуванням поточний)
formatНіФормат: days, full (дні, години, хвилини)
labelНіТекст мітки перед зворотним відліком
/**
* Filtruje tekst przycisku przedsprzedaży.
*
* @param string $text Tekst przycisku
* @param \WC_Product $product Obiekt produktu
*/
apply_filters('polski_pro/preorder/button_text', string $text, \WC_Product $product): string;

Приклад - динамічний текст з ціною:

add_filter('polski_pro/preorder/button_text', function (string $text, \WC_Product $product): string {
return sprintf('Zamów za %s - premiera wkrótce', $product->get_price_html());
}, 10, 2);

Фільтр тексту доступності

Section titled “Фільтр тексту доступності”
/**
* Filtruje tekst dostępności przedsprzedaży.
*
* @param string $text Tekst dostępności
* @param string $release_date Data premiery (Y-m-d)
* @param \WC_Product $product Obiekt produktu
*/
apply_filters('polski_pro/preorder/availability_text', string $text, string $release_date, \WC_Product $product): string;

Сумісність з варіантами

Section titled “Сумісність з варіантами”

Модуль працює з варіативними продуктами. Кожен варіант має незалежні налаштування pre-order:

  • Варіант A - стандартний (доступний одразу)
  • Варіант B - pre-order (випуск за 2 тижні)

Змішування варіантів pre-order та стандартних в одному продукті дозволено. Блокування стосується лише змішування різних продуктів.

Продукт не перемикається автоматично після дати випуску Перевірте, чи WP-Cron працює правильно. Якщо ви користуєтеся зовнішнім CRON-ом, переконайтеся, що wp-cron.php викликається регулярно. Альтернативно запустіть вручну: wp cron event run polski_pro_preorder_check.

Клієнт додав продукти pre-order та звичайні до кошика Перевірте, чи опція “Блокувати змішування кошика” увімкнена. Очистіть кеш, якщо користуєтеся плагінами, що кешують фрагменти кошика.

Дата випуску відображається у неправильному форматі Перевірте налаштування “Формат дати” в конфігурації модуля. Формат використовує стандартні заповнювачі PHP date().

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