Як показати різні фільтри на різних сторінках
[woof] шорткод приймає атрибути, які дозволяють контролювати, які фільтри з'являються і які товари вони показують.
Основні атрибути:
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"]
Примітка: The taxonomies атрибут використовується, коли у вас увімкнено "динамічний перерахунок" або "приховати порожні опції".
Повний посібник із налаштування
Крок 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: Встановіть плагін Conditional Widget
Вам потрібен плагін для контролю видимості віджетів на основі умов сторінки.
Виберіть одне:
- Widget Logic – https://wordpress.org/plugins/widget-logic/
- Показати WordPress віджет за логікою – https://github.com/realmag777/Show-WordPress-Widget-by-Logic
Крок 4: Встановіть умови видимості
Додайте умовну логіку до кожного віджету, щоб контролювати, де він з'являється.
Приклади умовної логіки
Показати фільтр на конкретній сторінці
За slug сторінки:
is_page('supplier-nike')
За ID сторінки:
is_page(123)
Показати фільтр на кількох сторінках
is_page(array('supplier-1', 'supplier-2', 'supplier-3'))
Показувати фільтр на архіві категорії
За ID категорії:
is_product_category(35)
За slug категорії:
is_product_category('electronics')
Показати фільтр за кастомною таксономією
is_tax('supplier', 'nike-products')
Виключити специфічні сторінки
Показувати всюди, КРІМ сторінки 123:
!is_page(123)
Повний приклад налаштування
Сценарій: 3 постачальники з різними фільтрами
Постачальник А (Nike) – ID сторінки: 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 – ID архіву категорії: 50
- Шорткод:
[woof tax_only="product_cat,pa_brand" by_only="by_price,by_sku"] - Умова віджета:
is_product_category(50) - Результат: Показує фільтри категорій, брендів, ціни та SKU
Розуміння атрибутів
tax_only проти taxonomies
Використовуйте 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" щоб приховати всі нетаксономічні фільтри.
Пошук ID та slug-ів
ID категорій
- Перейти до Товари → Категорії
- Навести курсор на назву категорії
- Дивіться в рядку стану браузера або URL
- Знайти
tag_ID=35– число – це ID вашої категорії
ID сторінок
- Перейти до Сторінки
- Наведіть курсор миші на назву сторінки
- Подивіться на URL:
post=123 - Число – це ID вашої сторінки
Слаги атрибутів
- Перейти до Товари → Атрибути
- Слюги атрибутів починаються з
pa_ - Приклади:
pa_brand,pa_size,pa_color,pa_material
Тестування вашої конфігурації
- Спочатку протестуйте шорткоди
- Розмістіть шорткод безпосередньо на тестовій сторінці
- Перевірте, чи фільтри відображаються коректно
- Перевірте, чи працює фільтрація
- Тестувати видимість віджета
- Відвідайте кожну сторінку, де має з’явитися фільтр
- Перевірте правильне відображення фільтра
- Перевірте, чи інші фільтри не з'являються
- Перевіряйте лише один фільтр на сторінці
- Кілька фільтрів на одній сторінці призведуть до конфлікту
- Використовуйте умови віджетів для забезпечення ексклюзивності
Важливе обмеження
Лише один фільтр на сторінку: Одночасно на сторінці може бути активний лише один фільтр WOOF. Декілька фільтрів спричинять конфлікти.
Рішення: Використовуйте умовну логіку віджетів, щоб гарантувати, що на сторінці відображається лише один віджет фільтра.
Поради
- Спочатку протестуйте шорткоди безпосередньо
- Перед додаванням до віджетів, протестуйте шорткоди на звичайній сторінці
- Забезпечує правильність атрибутів
- Використовуйте виключні умови
- Переконайтеся, що умови віджетів не перетинаються
- На сторінці повинен бути видимий лише один фільтр
- Негативні умови
- Використовуйте
!is_page(123)виключити певні сторінки - Корисно для сценаріїв "показати скрізь, крім"
- Використовуйте
- Перевірити слаги атрибутів
- Слюги таксономій повинні починатися з
pa_ - Неправильний slug = фільтр не з'явиться
- Слюги таксономій повинні починатися з
Повна документація
Для повного довідника атрибутів шорткодів: https://products-filter.com/shortcode/woof
Виправлення проблем
Фільтр не відображається
Можливі причини:
- Умова віджета не виконана для поточної сторінки
- Неправильні атрибути шорткоду
- ID категорії/атрибута не існує
- Конфлікт кількох фільтрів
Рішення:
- Перевірте, чи відповідає ID/слаг сторінки умові
- Перевірте ID категорій у Розділі Товари → Категорії
- Спочатку протестуйте шорткод на звичайній сторінці
- Переконайтеся, що на сторінці є лише один віджет фільтра
Показуються неправильні товари
Можливі причини:
- Неправильні ID категорій
- Неправильні слаги атрибутів
- Використання неправильного атрибута (
tax_onlyvstaxonomies)
Рішення:
- Подвійно перевірте ID категорій
- Перевірте, чи починаються slug атрибутів з
pa_ - Використовуйте
taxonomiesякщо у вас увімкнено динамічний перерахунок - Спочатку протестуйте з простішим шорткодом
Відображення кількох фільтрів
Причина: Перекриття умов віджета
Рішення:
- Переглянути всі умови віджетів
- Забезпечити взаємну виключність
- Використовуйте негативні умови для розділення
Фільтр відображається на неправильних сторінках
Причина: Умова віджета занадто широка
Рішення:
- Зробіть умову більш специфічною
- Використовуйте ID сторінки замість категорії за потреби
- Ретельно перевіряйте логіку умов
Підсумок
Щоб показувати різні фільтри на різних сторінках:
- Створити користувацький
[woof]шорткоди зtax_onlyта/абоby_onlyатрибути - Розміщуйте кожен шорткод в окремих віджетах Text/HTML
- Встановіть плагін Widget Logic
- Додайте умовну логіку до кожного віджета (наприклад,
is_page(123)) - Тест, щоб переконатися, що на сторінці відображається лише один фільтр
Пам'ятайте: За сторінкою може бути активний лише один фільтр. Використовуйте умови віджетів для забезпечення ексклюзивності.