HUSKY - Product Filter for WooCommerce

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

  1. Vai su Aspetto → Widget
  2. Aggiungi un widget Testo o HTML personalizzato alla tua barra laterale
  3. Incolla il tuo shortcode nel widget
  4. 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:

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 prezzo
  • by_sku – Ricerca per SKU
  • by_text – Ricerca testuale
  • by_author – Filtra per autore
  • by_onsales – Mostra solo prodotti in saldo
  • by_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

  1. Vai su Prodotti → Categorie
  2. Passa il mouse sul nome della categoria
  3. Guarda la barra di stato del browser o l'URL
  4. Trova tag_ID=35 – il numero è l'ID della tua categoria

ID delle pagine

  1. Vai su Pagine
  2. Passa il mouse sul nome della pagina
  3. Guarda l'URL: post=123
  4. Il numero è l'ID della tua pagina

Slug degli attributi

  1. Vai su Prodotti → Attributi
  2. Gli slug degli attributi iniziano con pa_
  3. Esempi: pa_brand, pa_size, pa_color, pa_material

Test della configurazione

  1. 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
  2. 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
  3. 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

  1. Testa prima gli shortcode direttamente
    • Prima di aggiungerli ai widget, testa gli shortcode su una pagina normale
    • Assicura che gli attributi siano corretti
  2. Usa condizioni esclusive
    • Assicurati che le condizioni dei widget non si sovrappongano
    • Solo un filtro dovrebbe essere visibile per pagina
  3. Condizioni negative
    • Usa !is_page(123) per escludere pagine specifiche
    • Utile per scenari “mostra ovunque tranne che”
  4. Controlla gli slug degli attributi
    • Gli slug degli attributi devono iniziare con pa_
    • Slug errato = il filtro non apparirà

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_only vs taxonomies)

Soluzione:

  • Ricontrolla gli ID delle categorie
  • Verifica che gli slug degli attributi inizino con pa_
  • Usa taxonomies se 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:

  1. Crea shortcode personalizzati [woof] con attributi tax_only e/o by_only
  2. Posiziona ogni shortcode in widget Testo/HTML separati
  3. Installa il plugin Widget Logic
  4. Aggiungi logica condizionale a ciascun widget (es. is_page(123))
  5. 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à.