Як показувати різні фільтри 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. Розмістіть короткі коди у віджетах
- Перейти доВигляд → Віджети
- додатитекстабоСпеціальний HTMLвіджет на бічній панелі
- Вставте свій шорткод у віджет
- Створіть окремі віджети для кожного короткого коду
Крок 3. Встановіть плагін умовного віджета
Вам потрібен плагін для керування видимістю віджетів на основі умов сторінки.
Виберіть один:
- Логіка віджетів – https://wordpress.org/plugins/widget-logic/
- Показати віджет WordPress за логікою – https://github.com/realmag777/Show-WordPress-Widget-by-Logic
Крок 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– Пошук за SKUby_text– Текстовий пошукby_author– Фільтрувати за авторомby_onsales– Показувати лише товари, які є на розпродажіby_instock– Показувати лише продукти, які є в наявності- Ключі мета-поля (якщо ввімкнено в налаштуваннях WOOF)
використанняby_only="none"щоб приховати всі нетаксономічні фільтри.
Пошук ідентифікаторів і слимаків
Ідентифікатори категорій
- Перейти доТовари → Категорії
- Наведіть курсор на назву категорії
- Подивіться на рядок стану браузера або URL-адресу
- знайти
tag_ID=35– номер є ідентифікатором вашої категорії
Ідентифікатори сторінок
- Перейти досторінки
- Наведіть курсор на назву сторінки
- Перегляньте URL:
post=123 - Номер – це ідентифікатор вашої сторінки
Атрибут Слизняки
- Перейти доТовари → Атрибути
- Слаги атрибутів починаються з
pa_ - приклади:
pa_brand,pa_size,pa_color,pa_material
Тестування ваших налаштувань
- Спочатку перевірте короткі коди
- Розмістіть шорткод безпосередньо на тестовій сторінці
- Перевірте, чи правильно відображаються фільтри
- Перевірте, чи працює фільтрація
- Тест видимості віджета
- Відвідайте кожну сторінку, де має з’явитися фільтр
- Перевірте правильність відображення фільтра
- Переконайтеся, що інші фільтри не з’являються
- Перевірте лише один фільтр на сторінку
- Кілька фільтрів на одній сторінці будуть конфліктувати
- Використовуйте умови віджетів, щоб забезпечити ексклюзивність
Важливе обмеження
Тільки один фільтр на сторінку:Одночасно на сторінці може бути активний лише один фільтр WOOF. Кілька фільтрів будуть конфліктувати.
рішення:Використовуйте умовну логіку віджетів, щоб на сторінці відображався лише один віджет фільтра.
Поради
- Спочатку протестуйте короткі коди
- Перш ніж додавати до віджетів, протестуйте шорткоди на звичайній сторінці
- Забезпечує правильність атрибутів
- Використовуйте ексклюзивні умови
- Переконайтеся, що умови віджетів не збігаються
- Лише один фільтр має бути видимим на сторінці
- Негативні умови
- використання
!is_page(123)щоб виключити певні сторінки - Корисно для сценаріїв «показувати всюди, крім».
- використання
- Перевірте слаги атрибутів
- Attribute slugs must start with
pa_ - Неправильний слаг = фільтр не з’явиться
- Attribute slugs must start with
Повна документація
Повна довідка про атрибути короткого коду:https://products-filter.com/shortcode/woof
Усунення несправностей
Фільтр не відображається
Можливі причини:
- Умова віджета false для поточної сторінки
- Атрибути короткого коду неправильні
- Ідентифікатори категорій/атрибутів не існують
- Конфлікт кількох фільтрів
рішення:
- Переконайтеся, що ідентифікатор сторінки/слаг відповідає умові
- Перевірте ідентифікатори категорії в Товари → Категорії
- Спочатку протестуйте шорткод на звичайній сторінці
- Забезпечте лише один віджет фільтра на сторінку
Показано неправильні продукти
Можливі причини:
- Неправильні ідентифікатори категорій
- Неправильний атрибут
- Використання неправильного атрибута (
tax_onlyпротиtaxonomies)
рішення:
- Ще раз перевірте ідентифікатори категорії
- Перевірте, що слики атрибутів починаються з
pa_ - використання
taxonomiesякщо у вас увімкнено динамічний перерахунок - Спочатку протестуйте за допомогою простішого короткого коду
Відображення кількох фільтрів
Причина:Умови віджетів збігаються
рішення:
- Перегляньте всі умови віджетів
- Забезпечте взаємовиключність
- Використовуйте негативні умови для розділення
Фільтр показує на неправильних сторінках
Причина:Умова віджета занадто широка
рішення:
- Конкретизуйте умови
- За потреби використовуйте ідентифікатор сторінки замість категорії
- Уважно перевірте логіку умови
Резюме
Щоб показати різні фільтри на різних сторінках:
- Створити на замовлення
[woof]шорткоди сtax_onlyта/абоby_onlyатрибути - Розмістіть кожен короткий код в окремих віджетах Text/HTML
- Встановіть плагін Widget Logic
- Додайте умовну логіку до кожного віджета (наприклад,
is_page(123)) - Перевірте, щоб на сторінці відображався лише один фільтр
Пам'ятайте: На сторінці може бути активним лише один фільтр. Використовуйте умови віджетів, щоб забезпечити ексклюзивність.