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

Список бажань (wishlist)

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

Список бажань, порівняння та швидкий перегляд на сторінці магазину

Перейдіть до WooCommerce > Polski > Модулі магазину та активуйте опцію Список бажань. Після увімкнення на кожному продукті з’явиться іконка серця для додавання до списку.

Підтримка гостей та залогінених користувачів

Section titled “Підтримка гостей та залогінених користувачів”

Для гостей список бажань зберігається у localStorage браузера. Дані доступні миттєво без запитів до сервера. Після входу користувача список з localStorage автоматично синхронізується з базою даних - продукти не зникають.

Залогінені користувачі

Section titled “Залогінені користувачі”

Для залогінених клієнтів дані зберігаються у таблиці wp_usermeta з ключем _polski_wishlist. Завдяки цьому список доступний на будь-якому пристрої після входу.

Обліковий запис клієнта

Section titled “Обліковий запис клієнта”

Модуль додає нову вкладку Список бажань у секції Мій обліковий запис WooCommerce. Клієнт бачить там:

  • Мініатюру продукту
  • Назву з посиланням на сторінку продукту
  • Ціну (актуальну, з урахуванням акцій)
  • Статус наявності (в наявності / немає в наявності)
  • Кнопку Додати до кошика
  • Кнопку Видалити зі списку

Вкладка видима лише тоді, коли модуль активний. Endpoint в URL - wishlist - наприклад, twojsklep.pl/moje-konto/wishlist/.

Додавання та видалення продуктів зі списку працює через AJAX - сторінка не перезавантажується. Після натискання іконки серця:

  1. Іконка змінює стан (порожня/заповнена) з CSS-анімацією
  2. Надсилається AJAX-запит до admin-ajax.php
  3. Лічильник на іконці у заголовку оновлюється в реальному часі

AJAX-дії, що обробляються модулем:

ДіяОпис
polski_wishlist_addДодавання продукту до списку
polski_wishlist_removeВидалення продукту зі списку
polski_wishlist_getОтримання повного списку
polski_wishlist_clearОчищення всього списку

Shortcode відображає таблицю списку бажань у будь-якому місці магазину.

ПараметрТипЗа замовчуваннямОпис
columnsstringallКолонки для відображення (через кому)
max_itemsint50Максимальна кількість продуктів у списку
show_emptystringyesЧи показувати повідомлення, коли список порожній
[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"]');
  • 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 “Кнопка у списку продуктів”

На сторінках категорій та архівів кнопка серця з’являється на мініатюрі продукту у кутку. Це можна вимкнути у налаштуваннях модуля.

Модуль додає іконку серця з лічильником до заголовку магазину (поряд з кошиком). Натискання відкриває dropdown з попереднім переглядом збережених продуктів. Позицію іконки контролюєте хуком:

add_action('polski/wishlist/header_icon', function (): void {
// Власна позиція іконки у заголовку
});

Модуль використовує CSS-класи з префіксом .polski-wishlist-. Основні класи:

  • .polski-wishlist-button - кнопка додавання/видалення
  • .polski-wishlist-button--active - активний стан (продукт у списку)
  • .polski-wishlist-table - таблиця списку
  • .polski-wishlist-count - лічильник у заголовку
  • .polski-wishlist-empty - повідомлення порожнього списку

Дані списку бажань для залогінених користувачів кешуються в object cache (якщо доступний). HTML-фрагмент кнопки кешується через wp_cache_set() з групою polski_wishlist. Кеш автоматично очищується після додавання або видалення продукту.

Кнопка не з’являється на продукті - переконайтеся, що тема підтримує hook woocommerce_single_product_summary. Деякі теми перевизначають стандартні шаблони WooCommerce.

Список не синхронізується після входу - перевірте, чи у вас немає плагіна кешування, який агресивно буферизує сторінку входу. Вимкніть кеш для сторінки moje-konto.

Іконка у заголовку не відображається - тема повинна підтримувати hook wp_nav_menu_items або storefront_header. Якщо ви використовуєте власну тему, додайте іконку вручну у шаблоні.

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

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