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
- Przejdź do Wygląd → Widgety
- Dodaj widget Tekst lub Niestandardowy HTML do swojego panelu bocznego
- Wklej swój shortcode do widgeta
- 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ą:
- Widget Logic – https://wordpress.org/plugins/widget-logic/
- Show WordPress Widget by Logic – https://github.com/realmag777/Show-WordPress-Widget-by-Logic
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 cenby_sku– Szukaj po SKUby_text– Szukanie tekstoweby_author– Filtr po autorzeby_onsales– Pokaż tylko produkty na wyprzedażyby_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
- Przejdź do Produkty → Kategorie
- Najedź kursorem na nazwę kategorii
- Spójrz na pasek stanu przeglądarki lub adres URL
- Znajdź
tag_ID=35– liczba to ID twojej kategorii
ID stron
- Przejdź do Strony
- Najedź kursorem na nazwę strony
- Spójrz na URL:
post=123 - Liczba to ID strony
Slugi atrybutów
- Przejdź do Produkty → Atrybuty
- Slugi atrybutów zaczynają się od
pa_ - Przykłady:
pa_brand,pa_size,pa_color,pa_material
Testowanie konfiguracji
- Najpierw przetestuj shortcode
- Umieść shortcode bezpośrednio na stronie testowej
- Sprawdź, czy filtry wyświetlają się poprawnie
- Sprawdź, czy filtrowanie działa
- 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ą
- 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
- Najpierw przetestuj shortcode bezpośrednio
- Przed dodaniem do widgetów przetestuj shortcode na zwykłej stronie
- Zapewnia to poprawność atrybutów
- Używaj warunków wyłącznych
- Upewnij się, że warunki widgetów nie nakładają się
- Tylko jeden filtr powinien być widoczny na stronę
- Warunki negatywne
- Użyj
!is_page(123), aby wykluczyć określone strony - Przydatne w scenariuszach „pokaż wszędzie z wyjątkiem”
- Użyj
- Sprawdź slugi atrybutów
- Slugi atrybutów muszą zaczynać się od
pa_ - Nieprawidłowy slug = filtr się nie pojawi
- Slugi atrybutów muszą zaczynać się od
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_onlyvstaxonomies)
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:
- Utwórz niestandardowe shortcode
[woof]z atrybutamitax_onlyi/lubby_only - Umieść każdy shortcode w osobnych widgetach Tekst/HTML
- Zainstaluj wtyczkę Widget Logic
- Dodaj logikę warunkową do każdego widgeta (np.
is_page(123)) - 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ść.