Список бажань (wishlist)
Список бажань дозволяє клієнтам зберігати продукти на потім. Працює для залогінених клієнтів та гостей.

Увімкнення модуля
Section titled “Увімкнення модуля”Перейдіть до WooCommerce > Polski > Модулі магазину та активуйте опцію Список бажань. Після увімкнення на кожному продукті з’явиться іконка серця для додавання до списку.
Підтримка гостей та залогінених користувачів
Section titled “Підтримка гостей та залогінених користувачів”Гості (незалогінені)
Section titled “Гості (незалогінені)”Для гостей список бажань зберігається у localStorage браузера. Дані доступні миттєво без запитів до сервера. Після входу користувача список з localStorage автоматично синхронізується з базою даних - продукти не зникають.
Залогінені користувачі
Section titled “Залогінені користувачі”Для залогінених клієнтів дані зберігаються у таблиці wp_usermeta з ключем _polski_wishlist. Завдяки цьому список доступний на будь-якому пристрої після входу.
Обліковий запис клієнта
Section titled “Обліковий запис клієнта”Модуль додає нову вкладку Список бажань у секції Мій обліковий запис WooCommerce. Клієнт бачить там:
- Мініатюру продукту
- Назву з посиланням на сторінку продукту
- Ціну (актуальну, з урахуванням акцій)
- Статус наявності (в наявності / немає в наявності)
- Кнопку Додати до кошика
- Кнопку Видалити зі списку
Вкладка видима лише тоді, коли модуль активний. Endpoint в URL - wishlist - наприклад, twojsklep.pl/moje-konto/wishlist/.
Робота через AJAX
Section titled “Робота через AJAX”Додавання та видалення продуктів зі списку працює через AJAX - сторінка не перезавантажується. Після натискання іконки серця:
- Іконка змінює стан (порожня/заповнена) з CSS-анімацією
- Надсилається AJAX-запит до
admin-ajax.php - Лічильник на іконці у заголовку оновлюється в реальному часі
AJAX-дії, що обробляються модулем:
| Дія | Опис |
|---|---|
polski_wishlist_add | Додавання продукту до списку |
polski_wishlist_remove | Видалення продукту зі списку |
polski_wishlist_get | Отримання повного списку |
polski_wishlist_clear | Очищення всього списку |
Shortcode [polski_wishlist]
Section titled “Shortcode [polski_wishlist]”Shortcode відображає таблицю списку бажань у будь-якому місці магазину.
Параметри
Section titled “Параметри”| Параметр | Тип | За замовчуванням | Опис |
|---|---|---|---|
columns | string | all | Колонки для відображення (через кому) |
max_items | int | 50 | Максимальна кількість продуктів у списку |
show_empty | string | yes | Чи показувати повідомлення, коли список порожній |
Приклад використання
Section titled “Приклад використання”[polski_wishlist columns="image,name,price,add_to_cart" max_items="20"]Використання у шаблоні PHP
Section titled “Використання у шаблоні PHP”echo do_shortcode('[polski_wishlist columns="image,name,price,add_to_cart"]');Доступні колонки
Section titled “Доступні колонки”image- мініатюра продуктуname- назва продукту з посиланнямprice- цінаstock- статус наявностіadd_to_cart- кнопка додавання до кошикаremove- кнопка видалення зі спискуdate_added- дата додавання
Кнопка на сторінці продукту
Section titled “Кнопка на сторінці продукту”Кнопка списку бажань відображається за замовчуванням під кнопкою Додати до кошика на сторінці продукту. Позицію можна змінити фільтром:
add_filter('polski/wishlist/button_position', function (): string { return 'before_add_to_cart'; // або 'after_add_to_cart', 'after_summary'});Кнопка у списку продуктів
Section titled “Кнопка у списку продуктів”На сторінках категорій та архівів кнопка серця з’являється на мініатюрі продукту у кутку. Це можна вимкнути у налаштуваннях модуля.
Заголовок магазину
Section titled “Заголовок магазину”Модуль додає іконку серця з лічильником до заголовку магазину (поряд з кошиком). Натискання відкриває dropdown з попереднім переглядом збережених продуктів. Позицію іконки контролюєте хуком:
add_action('polski/wishlist/header_icon', function (): void { // Власна позиція іконки у заголовку});Стилізація CSS
Section titled “Стилізація CSS”Модуль використовує CSS-класи з префіксом .polski-wishlist-. Основні класи:
.polski-wishlist-button- кнопка додавання/видалення.polski-wishlist-button--active- активний стан (продукт у списку).polski-wishlist-table- таблиця списку.polski-wishlist-count- лічильник у заголовку.polski-wishlist-empty- повідомлення порожнього списку
Продуктивність
Section titled “Продуктивність”Дані списку бажань для залогінених користувачів кешуються в object cache (якщо доступний). HTML-фрагмент кнопки кешується через wp_cache_set() з групою polski_wishlist. Кеш автоматично очищується після додавання або видалення продукту.
Вирішення проблем
Section titled “Вирішення проблем”Кнопка не з’являється на продукті - переконайтеся, що тема підтримує hook woocommerce_single_product_summary. Деякі теми перевизначають стандартні шаблони WooCommerce.
Список не синхронізується після входу - перевірте, чи у вас немає плагіна кешування, який агресивно буферизує сторінку входу. Вимкніть кеш для сторінки moje-konto.
Іконка у заголовку не відображається - тема повинна підтримувати hook wp_nav_menu_items або storefront_header. Якщо ви використовуєте власну тему, додайте іконку вручну у шаблоні.
Повідомлення про проблеми: github.com/wppoland/polski/issues