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

Етикетки продуктів

Етикетки (badges) - це кольорові значки на зображеннях продуктів. Допомагають клієнтам швидко розпізнати акції, новинки, бестселери та продукти з низьким запасом.

Перейдіть до WooCommerce > Polski > Модулі магазину та активуйте опцію Етикетки продуктів. Модуль замінить стандартний значок WooCommerce “Wyprzedaż!” власними, налаштовуваними етикетками.

Автоматичні етикетки генеруються на основі даних продукту. Вони не потребують ручного налаштування - після увімкнення працюють одразу на всіх продуктах.

Відображається, коли продукт має встановлену акційну ціну. За замовчуванням показує відсоток знижки (наприклад, -25%) замість стандартного тексту “Wyprzedaż!”.

Налаштування формату:

ОпціяОписПриклад
ВідсотокВідсоток знижки-25%
СумаСума економії-50 zl
ТекстВласний текстPromocja
Відсоток + сумаОбидва значення-25% (-50 zl)
// Зміна формату значка розпродажу
add_filter('polski/badges/sale_format', function (): string {
return 'percentage'; // 'percentage', 'amount', 'text', 'both'
});

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

Відображається на продуктах, доданих протягом останніх X днів. За замовчуванням 14 днів.

// Зміна періоду новинки
add_filter('polski/badges/new_days', function (): int {
return 30; // продукти, додані протягом останніх 30 днів
});

Низький запас на складі (low stock)

Section titled “Низький запас на складі (low stock)”

Відображається, коли кількість продукту на складі падає нижче встановленого порогу. Поріг за замовчуванням - значення, встановлене у WooCommerce (WooCommerce > Налаштування > Продукти > Склад > Поріг низького запасу).

Текст етикетки: Ostatnie X sztuk! (де X - актуальна кількість).

// Власний текст етикетки низького запасу
add_filter('polski/badges/low_stock_text', function (string $text, int $stock): string {
if ($stock <= 3) {
return 'Ostatnie sztuki!';
}
return sprintf('Zostało %d szt.', $stock);
}, 10, 2);

Відображається на продуктах з найбільшою кількістю продажів. За замовчуванням топ 10 продуктів у магазині.

// Зміна ліміту бестселерів
add_filter('polski/badges/bestseller_limit', function (): int {
return 20;
});

Обчислення бестселерів кешується у transient API (за замовчуванням 24 години).

Ручні етикетки (для окремого продукту)

Section titled “Ручні етикетки (для окремого продукту)”

Окрім автоматичних етикеток, ви можете додавати власні значки до окремих продуктів. У редакторі продукту в панелі Дані продукту ви знайдете вкладку Етикетки.

Опції ручної етикетки:

  • Текст - вміст, що відображається на значку (наприклад, “Polecamy”, “Eco”, “Darmowa dostawa”)
  • Колір фону - колір значка (color picker)
  • Колір тексту - колір тексту на значку
  • Позиція - верхній лівий, верхній правий, нижній лівий, нижній правий
  • Пріоритет - порядок відображення, коли продукт має декілька етикеток

Максимальна кількість етикеток на одному продукті - 4 (автоматичні + ручні разом). Цей ліміт запобігає захаращенню мініатюри.

// Зміна ліміту етикеток на продукті
add_filter('polski/badges/max_per_product', function (): int {
return 3;
});

Позиціонування етикеток

Section titled “Позиціонування етикеток”

Автоматичні етикетки мають позиції за замовчуванням:

ЕтикеткаПозиція за замовчуванням
РозпродажВерхній лівий
НовинкаВерхній правий
Низький запасНижній лівий
БестселерВерхній правий

Позиції налаштовуються в параметрах модуля. Якщо дві етикетки мають однакову позицію, вони розміщуються вертикально одна під одною.

Доступні форми:

  • Прямокутник - за замовчуванням
  • Прямокутник із закругленими кутами - border-radius
  • Коло - для коротких текстів (наприклад, “-25%”)
  • Стрічка - декоративна форма зі скосом

Налаштування: WooCommerce > Polski > Модулі магазину > Етикетки > Форма.

Етикетки відображаються на:

  • Сторінках категорій та архівів (картки продуктів)
  • Сторінці окремого продукту (головне зображення)
  • Слайдері продуктів (модуль slider)
  • Швидкому перегляді (модуль quick view)
  • Результатах пошуку

Ви можете вимкнути етикетки для обраних місць:

// Вимкнення етикеток на сторінці окремого продукту
add_filter('polski/badges/show_on_single', '__return_false');

Етикетки для змінних продуктів

Section titled “Етикетки для змінних продуктів”

Для змінних продуктів (variable products):

  • Розпродаж - показує найбільший відсоток знижки серед усіх варіантів
  • Низький запас - показується, коли хоча б один варіант має низький запас
  • Новинка - на основі дати додавання продукту (не варіанту)

CSS-класи:

  • .polski-badge - базовий клас етикетки
  • .polski-badge--sale - розпродаж
  • .polski-badge--new - новинка
  • .polski-badge--low-stock - низький запас
  • .polski-badge--bestseller - бестселер
  • .polski-badge--custom - ручна етикетка
  • .polski-badge--top-left - позиція верхній лівий
  • .polski-badge--top-right - позиція верхній правий
  • .polski-badge--bottom-left - позиція нижній лівий
  • .polski-badge--bottom-right - позиція нижній правий
  • .polski-badge--rectangle - прямокутна форма
  • .polski-badge--circle - форма кола
  • .polski-badge--ribbon - форма стрічки

Приклад стилізації:

.polski-badge--sale {
background-color: #dc2626;
color: #ffffff;
font-weight: 700;
font-size: 0.75rem;
padding: 4px 8px;
}

Автоматичні етикетки кешуються у мета продукту (_polski_badges_cache) та оновлюються при кожному збереженні продукту. Обчислення бестселерів виконується раз на 24 години через transient API.

Етикетка розпродажу не показує відсоток - перевірте, чи встановлена звичайна ціна продукту. Без звичайної ціни відсоток не може бути обчислений.

Ручна етикетка не з’являється - перевірте ліміт етикеток на продукті. Якщо продукт вже має 4 автоматичні етикетки, ручна не буде відображена.

Етикетки перекривають кнопку швидкого перегляду - змініть позицію етикеток або кнопки quick view у налаштуваннях модулів.

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

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