HUSKY - Product Filter for WooCommerce

Jak wyświetlać różne filtry WooCommerce na różnych stronach

Shortcode [woof] z HUSKY WooCommerce filtrów przyjmuje atrybuty, które pozwalają kontrolować, które filtry się pojawiają i które produkty pokazują.

Główne atrybuty:

  • tax_only – Pokaż tylko określone taksonomie (kategorie, atrybuty)
  • by_only – Pokaż tylko określone filry nietaksonomiczne (cena, SKU, stan magazynowy itp.)
  • taxonomies – Pokaż tylko określone terminy taksonomii (używane z dynamicznym przeliczaniem)

Przykłady shortcode

Filtruj określone taksonomie

Pokaż tylko filtry kategorii i marek:

[woof tax_only="product_cat,pa_brand"]

Filtruj elementy nietaksonomiczne

Pokaż tylko filtry ceny, SKU i stanu magazynowego:

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

Połączone: taksonomie + filtry nietaksonomiczne

Pokaż określone taksonomie ORAZ filtry nietaksonomiczne:

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

Użycie atrybutu taxonomies (dla dynamicznego przeliczania)

Pokaż tylko określone terminy z określonych taksonomii:

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

Uwaga: Atrybut taxonomies jest używany, gdy włączone jest „dynamiczne przeliczanie” lub „ukrywanie pustych opcji”.

Kompletny przewodnik konfiguracji

Krok 1: Utwórz swoje shortcode

Utwórz różne shortcode [woof] dla każdej strony z odpowiednimi atrybutami.

Przykład:

  • Dostawca A: [woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"]
  • Dostawca B: [woof taxonomies="product_cat:50+pa_brand:nike,adidas" by_only="by_price"]

Krok 2: Umieść shortcode w widgetach

  1. Przejdź do Wygląd → Widgety
  2. Dodaj widget Tekst lub Niestandardowy HTML do swojego panelu bocznego
  3. Wklej swój shortcode do widgeta
  4. Utwórz osobne widgety dla każdego shortcode

Krok 3: Zainstaluj wtyczkę warunkową widgetów

Potrzebujesz wtyczki do kontrolowania widoczności widgetów w zależności od warunków strony.

Wybierz jedną:

Krok 4: Ustaw warunki widoczności

Dodaj logikę warunkową do każdego widgeta, aby kontrolować, gdzie się pojawia.

Przykłady logiki warunkowej

Pokaż filtr na określonej stronie

Po slugu strony:

is_page('supplier-nike')

Po ID strony:

is_page(123)

Pokaż filtr na wielu stronach

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

Pokaż filtr na archiwum kategorii

Po ID kategorii:

is_product_category(35)

Po slugu kategorii:

is_product_category('electronics')

Pokaż filtr na niestandardowej taksonomii

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

Wyklucz określone strony

Pokaż wszędzie Z WYJĄTKIEM strony 123:

!is_page(123)

Kompletny przykład konfiguracji

Scenariusz: 3 dostawców z różnymi filtrami

Dostawca A (Nike) – ID strony: 123

  • Shortcode: [woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"]
  • Warunek widgeta: is_page(123)
  • Wynik: Pokazuje wszystkie kategorie produktów z filtrami rozmiaru, koloru i ceny

Dostawca B (Adidas) – Slug strony: adidas-products

  • Shortcode: [woof taxonomies="product_cat:40,41,42" by_only="by_instock"]
  • Warunek widgeta: is_page('adidas-products')
  • Wynik: Pokazuje tylko kategorie 40, 41, 42 z filtrem stanu magazynowego

Dostawca C – ID archiwum kategorii: 50

  • Shortcode: [woof tax_only="product_cat,pa_brand" by_only="by_price,by_sku"]
  • Warunek widgeta: is_product_category(50)
  • Wynik: Pokazuje kategorie, marki, cenę i filtry SKU

Zrozumienie atrybutów

tax_only vs taxonomies

Użyj tax_only gdy:

  • Chcesz pokazać całe taksonomie (wszystkie terminy)
  • Przykład: tax_only="product_cat,pa_brand" pokazuje wszystkie kategorie i wszystkie marki

Użyj taxonomies gdy:

  • Masz włączone „dynamiczne przeliczanie” lub „ukrywanie pustych opcji”
  • Chcesz pokazać określone terminy z określonych taksonomii
  • Przykład: taxonomies="product_cat:35,42+pa_brand:nike" pokazuje tylko kategorie 35 i 42 oraz tylko markę Nike

Wartości by_only

Dostępne filtry nietaksonomiczne dla by_only:

  • by_price – Suwak zakresu cen
  • by_sku – Szukaj po SKU
  • by_text – Szukanie tekstowe
  • by_author – Filtr po autorze
  • by_onsales – Pokaż tylko produkty na wyprzedaży
  • by_instock – Pokaż tylko produkty w magazynie
  • Klucze pól meta (jeśli włączone w ustawieniach WOOF)

Użyj by_only="none", aby ukryć wszystkie filtry nietaksonomiczne.

Znajdowanie ID i slugów

ID kategorii

  1. Przejdź do Produkty → Kategorie
  2. Najedź kursorem na nazwę kategorii
  3. Spójrz na pasek stanu przeglądarki lub adres URL
  4. Znajdź tag_ID=35 – liczba to ID twojej kategorii

ID stron

  1. Przejdź do Strony
  2. Najedź kursorem na nazwę strony
  3. Spójrz na URL: post=123
  4. Liczba to ID strony

Slugi atrybutów

  1. Przejdź do Produkty → Atrybuty
  2. Slugi atrybutów zaczynają się od pa_
  3. Przykłady: pa_brand, pa_size, pa_color, pa_material

Testowanie konfiguracji

  1. Najpierw przetestuj shortcode
    • Umieść shortcode bezpośrednio na stronie testowej
    • Sprawdź, czy filtry wyświetlają się poprawnie
    • Sprawdź, czy filtrowanie działa
  2. Przetestuj widoczność widgetów
    • Odwiedź każdą stronę, na której filtr powinien się pojawić
    • Sprawdź, czy wyświetla się odpowiedni filtr
    • Sprawdź, czy inne filtry się nie pojawiają
  3. Sprawdź, czy na stronie jest tylko jeden filtr
    • Wiele filtrów na tej samej stronie będzie ze sobą kolidować
    • Użyj warunków widgetów, aby zapewnić wyłączność

Ważne ograniczenie

Tylko jeden filtr na stronę: Tylko jeden filtr WOOF może być aktywny na stronie w danym czasie. Wiele filtrów będzie ze sobą kolidować.

Rozwiązanie: Użyj logiki warunkowej widgetów, aby upewnić się, że na stronie wyświetla się tylko jeden widget filtra.

Porady

  1. Najpierw przetestuj shortcode bezpośrednio
    • Przed dodaniem do widgetów przetestuj shortcode na zwykłej stronie
    • Zapewnia to poprawność atrybutów
  2. Używaj warunków wyłącznych
    • Upewnij się, że warunki widgetów nie nakładają się
    • Tylko jeden filtr powinien być widoczny na stronę
  3. Warunki negatywne
    • Użyj !is_page(123), aby wykluczyć określone strony
    • Przydatne w scenariuszach „pokaż wszędzie z wyjątkiem”
  4. Sprawdź slugi atrybutów
    • Slugi atrybutów muszą zaczynać się od pa_
    • Nieprawidłowy slug = filtr się nie pojawi

Pełna dokumentacja

Pełna dokumentacja atrybutów shortcode: https://products-filter.com/shortcode/woof

Rozwiązywanie problemów

Filtr się nie pojawia

Możliwe przyczyny:

  • Warunek widgeta jest fałszywy dla bieżącej strony
  • Atrybuty shortcode są nieprawidłowe
  • ID kategorii/atrybutów nie istnieją
  • Wiele filtrów koliduje ze sobą

Rozwiązanie:

  • Sprawdź, czy ID/slug strony pasuje do warunku
  • Sprawdź ID kategorii w Produkty → Kategorie
  • Najpierw przetestuj shortcode na zwykłej stronie
  • Upewnij się, że na stronę przypada tylko jeden widget filtra

Wyświetlają się nieprawidłowe produkty

Możliwe przyczyny:

  • ID kategorii są nieprawidłowe
  • Slugi atrybutów są błędne
  • Użycie niewłaściwego atrybutu (tax_only vs taxonomies)

Rozwiązanie:

  • Sprawdź jeszcze raz ID kategorii
  • Sprawdź, czy slugi atrybutów zaczynają się od pa_
  • Użyj taxonomies, jeśli masz włączone dynamiczne przeliczanie
  • Najpierw przetestuj z prostszym shortcode

Wyświetla się wiele filtrów

Przyczyna: Warunki widgetów nakładają się

Rozwiązanie:

  • Sprawdź wszystkie warunki widgetów
  • Zapewnij wzajemną wyłączność
  • Użyj warunków negatywnych, aby je rozdzielić

Filtr pojawia się na nieprawidłowych stronach

Przyczyna: Warunek widgeta jest zbyt szeroki

Rozwiązanie:

  • Uszczegółow warunek
  • W razie potrzeby użyj ID strony zamiast kategorii
  • Dokładnie przetestuj logikę warunku

Podsumowanie

Aby pokazać różne filtry na różnych stronach:

  1. Utwórz niestandardowe shortcode [woof] z atrybutami tax_only i/lub by_only
  2. Umieść każdy shortcode w osobnych widgetach Tekst/HTML
  3. Zainstaluj wtyczkę Widget Logic
  4. Dodaj logikę warunkową do każdego widgeta (np. is_page(123))
  5. Przetestuj, aby upewnić się, że na stronę wyświetla się tylko jeden filtr

Pamiętaj: Tylko jeden filtr może być aktywny na stronę. Użyj warunków widgetów, aby zapewnić wyłączność.