HUSKY - Product Filter for WooCommerce

Як показувати різні фільтри WooCommerce на різних сторінках

[гав] короткий код фільтра HUSKY WooCommerce приймає атрибути, які дозволяють контролювати, які фільтри відображаються та які продукти вони показують.

Основні атрибути:

  • tax_only– Показувати лише певні таксономії (категорії, атрибути)
  • by_only– Показувати лише певні нетаксономічні фільтри (ціна, SKU, акція тощо)
  • taxonomies– Показувати лише конкретні таксономічні терміни (використовуються з динамічним підрахунком)

Приклади коротких кодів

Фільтрувати конкретні таксономії

Показати лише фільтри категорії та бренду:

[woof tax_only="product_cat,pa_brand"]

Фільтрувати нетаксономічні елементи

Показати лише ціну, SKU та фільтри акцій:

[woof by_only="by_price,by_sku,by_instock"]

Комбіновано: таксономії + нетаксономічні фільтри

Показати конкретні таксономії ТА нетаксономічні фільтри:

[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price,by_instock"]

Використання атрибута таксономії (для динамічного підрахунку)

Показувати лише конкретні терміни з певних таксономій:

[woof taxonomies="product_cat:35,42,58+pa_brand:nike,adidas"]

Примітка:Thetaxonomiesатрибут використовується, якщо увімкнено «динамічний перерахунок» або «приховати порожні параметри».

Повний посібник із налаштування

Крок 1: створіть свої короткі коди

Створюйте різні[woof]короткі коди для кожної сторінки з відповідними атрибутами.

приклад:

  • Постачальник А:[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"]
  • Постачальник B:[woof taxonomies="product_cat:50+pa_brand:nike,adidas" by_only="by_price"]

Крок 2. Розмістіть короткі коди у віджетах

  1. Перейти доВигляд → Віджети
  2. додатитекстабоСпеціальний HTMLвіджет на бічній панелі
  3. Вставте свій шорткод у віджет
  4. Створіть окремі віджети для кожного короткого коду

Крок 3. Встановіть плагін умовного віджета

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

Виберіть один:

Крок 4: Установіть умови видимості

Додайте умовну логіку до кожного віджета, щоб контролювати, де він з’являється.

Приклади умовної логіки

Показати фільтр на певній сторінці

За сторінкою:

is_page('supplier-nike')

За ідентифікатором сторінки:

is_page(123)

Показати фільтр на кількох сторінках

is_page(array('supplier-1', 'supplier-2', 'supplier-3'))

Показати фільтр в архіві категорій

За ідентифікатором категорії:

is_product_category(35)

За категорією slug:

is_product_category('electronics')

Показати фільтр у спеціальній таксономії

is_tax('supplier', 'nike-products')

Виключити конкретні сторінки

Показати скрізь, КРІМ сторінки 123:

!is_page(123)

Повний приклад налаштування

Сценарій: 3 постачальники з різними фільтрами

Постачальник A (Nike) – Ідентифікатор сторінки: 123

  • Шорткод: [woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"]
  • Умова віджета: is_page(123)
  • Результат:Показує всі категорії товарів із фільтрами розміру, кольору та ціни

Постачальник B (Adidas) – сторінка slug: adidas-products

  • Шорткод: [woof taxonomies="product_cat:40,41,42" by_only="by_instock"]
  • Умова віджета: is_page('adidas-products')
  • Результат:Показує лише категорії 40, 41, 42 із фондовим фільтром

Постачальник C – Ідентифікатор архіву категорії: 50

  • Шорткод: [woof tax_only="product_cat,pa_brand" by_only="by_price,by_sku"]
  • Умова віджета: is_product_category(50)
  • Результат:Показує категорії, марки, ціни та SKU фільтри

Розуміння атрибутів

tax_only проти таксономій

використанняtax_onlyколи:

  • Ви хочете показати цілі таксономії (всі терміни)
  • приклад:tax_only="product_cat,pa_brand"показує всі категорії та всі марки

використанняtaxonomiesколи:

  • Ви ввімкнули «динамічний перерахунок» або «приховати порожні параметри».
  • Ви хочете показати конкретні терміни з певних таксономій
  • приклад:taxonomies="product_cat:35,42+pa_brand:nike"показує лише категорії 35 і 42 і лише бренд Nike

by_only Значення

Доступні нетаксономічні фільтри дляby_only:

  • by_price– Повзунок діапазону цін
  • by_sku– Пошук за SKU
  • by_text– Текстовий пошук
  • by_author– Фільтрувати за автором
  • by_onsales– Показувати лише товари, які є на розпродажі
  • by_instock– Показувати лише продукти, які є в наявності
  • Ключі мета-поля (якщо ввімкнено в налаштуваннях WOOF)

використанняby_only="none"щоб приховати всі нетаксономічні фільтри.

Пошук ідентифікаторів і слимаків

Ідентифікатори категорій

  1. Перейти доТовари → Категорії
  2. Наведіть курсор на назву категорії
  3. Подивіться на рядок стану браузера або URL-адресу
  4. знайтиtag_ID=35– номер є ідентифікатором вашої категорії

Ідентифікатори сторінок

  1. Перейти досторінки
  2. Наведіть курсор на назву сторінки
  3. Перегляньте URL:post=123
  4. Номер – це ідентифікатор вашої сторінки

Атрибут Слизняки

  1. Перейти доТовари → Атрибути
  2. Слаги атрибутів починаються зpa_
  3. приклади:pa_brand, pa_size, pa_color, pa_material

Тестування ваших налаштувань

  1. Спочатку перевірте короткі коди
    • Розмістіть шорткод безпосередньо на тестовій сторінці
    • Перевірте, чи правильно відображаються фільтри
    • Перевірте, чи працює фільтрація
  2. Тест видимості віджета
    • Відвідайте кожну сторінку, де має з’явитися фільтр
    • Перевірте правильність відображення фільтра
    • Переконайтеся, що інші фільтри не з’являються
  3. Перевірте лише один фільтр на сторінку
    • Кілька фільтрів на одній сторінці будуть конфліктувати
    • Використовуйте умови віджетів, щоб забезпечити ексклюзивність

Важливе обмеження

Тільки один фільтр на сторінку:Одночасно на сторінці може бути активний лише один фільтр WOOF. Кілька фільтрів будуть конфліктувати.

рішення:Використовуйте умовну логіку віджетів, щоб на сторінці відображався лише один віджет фільтра.

Поради

  1. Спочатку протестуйте короткі коди
    • Перш ніж додавати до віджетів, протестуйте шорткоди на звичайній сторінці
    • Забезпечує правильність атрибутів
  2. Використовуйте ексклюзивні умови
    • Переконайтеся, що умови віджетів не збігаються
    • Лише один фільтр має бути видимим на сторінці
  3. Негативні умови
    • використання!is_page(123)щоб виключити певні сторінки
    • Корисно для сценаріїв «показувати всюди, крім».
  4. Перевірте слаги атрибутів
    • Attribute slugs must start with pa_
    • Неправильний слаг = фільтр не з’явиться

Повна документація

Повна довідка про атрибути короткого коду:https://products-filter.com/shortcode/woof

Усунення несправностей

Фільтр не відображається

Можливі причини:

  • Умова віджета false для поточної сторінки
  • Атрибути короткого коду неправильні
  • Ідентифікатори категорій/атрибутів не існують
  • Конфлікт кількох фільтрів

рішення:

  • Переконайтеся, що ідентифікатор сторінки/слаг відповідає умові
  • Перевірте ідентифікатори категорії в Товари → Категорії
  • Спочатку протестуйте шорткод на звичайній сторінці
  • Забезпечте лише один віджет фільтра на сторінку

Показано неправильні продукти

Можливі причини:

  • Неправильні ідентифікатори категорій
  • Неправильний атрибут
  • Використання неправильного атрибута (tax_onlyпротиtaxonomies)

рішення:

  • Ще раз перевірте ідентифікатори категорії
  • Перевірте, що слики атрибутів починаються зpa_
  • використанняtaxonomiesякщо у вас увімкнено динамічний перерахунок
  • Спочатку протестуйте за допомогою простішого короткого коду

Відображення кількох фільтрів

Причина:Умови віджетів збігаються

рішення:

  • Перегляньте всі умови віджетів
  • Забезпечте взаємовиключність
  • Використовуйте негативні умови для розділення

Фільтр показує на неправильних сторінках

Причина:Умова віджета занадто широка

рішення:

  • Конкретизуйте умови
  • За потреби використовуйте ідентифікатор сторінки замість категорії
  • Уважно перевірте логіку умови

Резюме

Щоб показати різні фільтри на різних сторінках:

  1. Створити на замовлення[woof]шорткоди сtax_onlyта/абоby_onlyатрибути
  2. Розмістіть кожен короткий код в окремих віджетах Text/HTML
  3. Встановіть плагін Widget Logic
  4. Додайте умовну логіку до кожного віджета (наприклад,is_page(123))
  5. Перевірте, щоб на сторінці відображався лише один фільтр

Пам'ятайте: На сторінці може бути активним лише один фільтр. Використовуйте умови віджетів, щоб забезпечити ексклюзивність.