Come mostrare diversi filtri WooCommerce su pagine diverse
Il shortcode [woof] del filtro WooCommerce HUSKY accetta attributi che consentono di controllare quali filtri appaiono e quali prodotti mostrano.
Attributi principali:
tax_only– Mostra solo tassonomie specifiche (categorie, attributi)by_only– Mostra solo filtri non-tassonomici specifici (prezzo, SKU, giacenza, ecc.)taxonomies– Mostra solo termini tassonomici specifici (usato con il re-conteggio dinamico)
Esempi di Shortcode
Filtra tassonomie specifiche
Mostra solo filtri per categoria e marca:
[woof tax_only="product_cat,pa_brand"]
Filtra elementi non-tassonomici
Mostra solo filtri per prezzo, SKU e giacenza:
[woof by_only="by_price,by_sku,by_instock"]
Combinato: Tassonomie + Filtri non-tassonomici
Mostra tassonomie specifiche E filtri non-tassonomici:
[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price,by_instock"]
Utilizzo dell'attributo taxonomies (per il re-conteggio dinamico)
Mostra solo termini specifici da tassonomie specifiche:
[woof taxonomies="product_cat:35,42,58+pa_brand:nike,adidas"]
Nota: L'attributo taxonomies viene utilizzato quando hai abilitato il “re-conteggio dinamico” o “nascondi opzioni vuote”.
Guida completa alla configurazione
Passo 1: Crea i tuoi shortcode
Crea diversi shortcode [woof] per ogni pagina con attributi appropriati.
Esempio:
- Fornitore A:
[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"] - Fornitore B:
[woof taxonomies="product_cat:50+pa_brand:nike,adidas" by_only="by_price"]
Passo 2: Posiziona gli shortcode nei widget
- Vai su Aspetto → Widget
- Aggiungi un widget Testo o HTML personalizzato alla tua barra laterale
- Incolla il tuo shortcode nel widget
- Crea widget separati per ogni shortcode
Passo 3: Installa un plugin per widget condizionali
Hai bisogno di un plugin per controllare la visibilità dei widget in base alle condizioni della pagina.
Scegline uno:
- Widget Logic – https://wordpress.org/plugins/widget-logic/
- Show WordPress Widget by Logic – https://github.com/realmag777/Show-WordPress-Widget-by-Logic
Passo 4: Imposta le condizioni di visibilità
Aggiungi logica condizionale a ciascun widget per controllare dove appare.
Esempi di logica condizionale
Mostra filtro su una pagina specifica
Per slug della pagina:
is_page('supplier-nike')
Per ID della pagina:
is_page(123)
Mostra filtro su più pagine
is_page(array('supplier-1', 'supplier-2', 'supplier-3'))
Mostra filtro su archivio categoria
Per ID della categoria:
is_product_category(35)
Per slug della categoria:
is_product_category('electronics')
Mostra filtro su tassonomia personalizzata
is_tax('supplier', 'nike-products')
Escludi pagine specifiche
Mostra ovunque TRANNE che sulla pagina 123:
!is_page(123)
Esempio completo di configurazione
Scenario: 3 fornitori con filtri diversi
Fornitore A (Nike) – ID pagina: 123
- Shortcode:
[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"] - Condizione widget:
is_page(123) - Risultato: Mostra tutte le categorie di prodotti con filtri per taglia, colore e prezzo
Fornitore B (Adidas) – Slug pagina: adidas-products
- Shortcode:
[woof taxonomies="product_cat:40,41,42" by_only="by_instock"] - Condizione widget:
is_page('adidas-products') - Risultato: Mostra solo le categorie 40, 41, 42 con filtro giacenza
Fornitore C – ID archivio categoria: 50
- Shortcode:
[woof tax_only="product_cat,pa_brand" by_only="by_price,by_sku"] - Condizione widget:
is_product_category(50) - Risultato: Mostra filtri per categorie, marche, prezzo e SKU
Comprensione degli attributi
tax_only vs taxonomies
Utilizza tax_only quando:
- Vuoi mostrare tassonomie intere (tutti i termini)
- Esempio:
tax_only="product_cat,pa_brand"mostra tutte le categorie e tutte le marche
Utilizza taxonomies quando:
- Hai abilitato il “re-conteggio dinamico” o “nascondi opzioni vuote”
- Vuoi mostrare termini specifici da tassonomie specifiche
- Esempio:
taxonomies="product_cat:35,42+pa_brand:nike"mostra solo le categorie 35 e 42, e solo la marca Nike
Valori di by_only
Filtri non-tassonomici disponibili per by_only:
by_price– Slider intervallo di prezzoby_sku– Ricerca per SKUby_text– Ricerca testualeby_author– Filtra per autoreby_onsales– Mostra solo prodotti in saldoby_instock– Mostra solo prodotti in magazzino- Chiavi dei campi meta (se abilitate nelle impostazioni di WOOF)
Usa by_only="none" per nascondere tutti i filtri non-tassonomici.
Trovare IDs e slug
ID delle categorie
- Vai su Prodotti → Categorie
- Passa il mouse sul nome della categoria
- Guarda la barra di stato del browser o l'URL
- Trova
tag_ID=35– il numero è l'ID della tua categoria
ID delle pagine
- Vai su Pagine
- Passa il mouse sul nome della pagina
- Guarda l'URL:
post=123 - Il numero è l'ID della tua pagina
Slug degli attributi
- Vai su Prodotti → Attributi
- Gli slug degli attributi iniziano con
pa_ - Esempi:
pa_brand,pa_size,pa_color,pa_material
Test della configurazione
- Testa prima gli shortcode
- Posiziona lo shortcode direttamente su una pagina di test
- Verifica che i filtri vengano visualizzati correttamente
- Controlla che il filtraggio funzioni
- Testa la visibilità del widget
- Visita ogni pagina in cui il filtro dovrebbe apparire
- Verifica che venga visualizzato il filtro corretto
- Controlla che altri filtri non appaiano
- Verifica un solo filtro per pagina
- Filtri multipli sulla stessa pagina entreranno in conflitto
- Usa le condizioni dei widget per garantire l'esclusività
Limitazione importante
Solo un filtro per pagina: Solo un filtro WOOF può essere attivo su una pagina alla volta. Filtri multipli entreranno in conflitto.
Soluzione: Usa la logica condizionale dei widget per assicurarti che solo un widget filtro venga visualizzato per pagina.
Suggerimenti
- Testa prima gli shortcode direttamente
- Prima di aggiungerli ai widget, testa gli shortcode su una pagina normale
- Assicura che gli attributi siano corretti
- Usa condizioni esclusive
- Assicurati che le condizioni dei widget non si sovrappongano
- Solo un filtro dovrebbe essere visibile per pagina
- Condizioni negative
- Usa
!is_page(123)per escludere pagine specifiche - Utile per scenari “mostra ovunque tranne che”
- Usa
- Controlla gli slug degli attributi
- Gli slug degli attributi devono iniziare con
pa_ - Slug errato = il filtro non apparirà
- Gli slug degli attributi devono iniziare con
Documentazione completa
Per il riferimento completo agli attributi degli shortcode: https://products-filter.com/shortcode/woof
Risoluzione dei problemi
Il filtro non appare
Possibili cause:
- La condizione del widget è falsa per la pagina corrente
- Attributi dello shortcode errati
- ID di categorie/attributi inesistenti
- Filtri multipli in conflitto
Soluzione:
- Verifica che ID/slug della pagina corrisponda alla condizione
- Controlla gli ID delle categorie in Prodotti → Categorie
- Testa lo shortcode prima su una pagina normale
- Assicurati un solo widget filtro per pagina
Prodotti sbagliati mostrati
Possibili cause:
- ID delle categorie errati
- Slug degli attributi errati
- Utilizzo dell'attributo sbagliato (
tax_onlyvstaxonomies)
Soluzione:
- Ricontrolla gli ID delle categorie
- Verifica che gli slug degli attributi inizino con
pa_ - Usa
taxonomiesse hai abilitato il re-conteggio dinamico - Testa prima con uno shortcode più semplice
Filtri multipli visualizzati
Causa: Le condizioni dei widget si sovrappongono
Soluzione:
- Rivedi tutte le condizioni dei widget
- Assicurati l'esclusività reciproca
- Usa condizioni negative per separare
Il filtro appare su pagine sbagliate
Causa: Condizione del widget troppo ampia
Soluzione:
- Rendi la condizione più specifica
- Usa l'ID della pagina invece della categoria se necessario
- Testa attentamente la logica della condizione
Riepilogo
Per mostrare filtri diversi su pagine diverse:
- Crea shortcode personalizzati
[woof]con attributitax_onlye/oby_only - Posiziona ogni shortcode in widget Testo/HTML separati
- Installa il plugin Widget Logic
- Aggiungi logica condizionale a ciascun widget (es.
is_page(123)) - Testa per assicurarti che solo un filtro venga visualizzato per pagina
Ricorda: Solo un filtro può essere attivo per pagina. Usa le condizioni dei widget per garantire l'esclusività.