HUSKY - Product Filter for WooCommerce

Como Mostrar Diferentes Filtros do WooCommerce em Páginas Diferentes

O shortcode [woof] do filtro de produtos HUSKY para WooCommerce aceita atributos que permitem controlar quais filtros aparecem e quais produtos eles exibem.

Atributos principais:

  • tax_only – Exibir apenas taxonomias específicas (categorias, atributos)
  • by_only – Exibir apenas filtros não-taxonômicos específicos (preço, SKU, estoque, etc.)
  • taxonomies – Exibir apenas termos de taxonomia específicos (usado com recontagem dinâmica)

Exemplos de Shortcode

Filtrar Taxonomias Específicas

Exibir apenas filtros de categoria e marca:

[woof tax_only="product_cat,pa_brand"]

Filtrar Elementos Não-Taxonômicos

Exibir apenas filtros de preço, SKU e estoque:

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

Combinado: Taxonomias + Filtros Não-Taxonômicos

Exibir taxonomias específicas E filtros não-taxonômicos:

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

Usando o Atributo taxonomies (Para Recontagem Dinâmica)

Exibir apenas termos específicos de taxonomias específicas:

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

Nota: O atributo taxonomies é usado quando você tem "recontagem dinâmica" ou "ocultar opções vazias" ativados.

Guia de Configuração Completo

Passo 1: Crie Seus Shortcodes

Crie diferentes shortcodes [woof] para cada página com os atributos apropriados.

Exemplo:

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

Passo 2: Coloque os Shortcodes em Widgets

  1. Vá em Aparência → Widgets
  2. Adicione o widget Texto ou HTML Personalizado à sua barra lateral
  3. Cole seu shortcode no widget
  4. Crie widgets separados para cada shortcode

Passo 3: Instale um Plugin de Widget Condicional

Você precisa de um plugin para controlar a visibilidade do widget com base nas condições da página.

Escolha um:

Passo 4: Defina as Condições de Visibilidade

Adicione lógica condicional a cada widget para controlar onde ele aparece.

Exemplos de Lógica Condicional

Exibir Filtro em uma Página Específica

Pelo slug da página:

is_page('supplier-nike')

Pelo ID da página:

is_page(123)

Exibir Filtro em Múltiplas Páginas

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

Exibir Filtro em Arquivo de Categoria

Pelo ID da categoria:

is_product_category(35)

Pelo slug da categoria:

is_product_category('electronics')

Exibir Filtro em Taxonomia Personalizada

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

Excluir Páginas Específicas

Exibir em TODOS os lugares, EXCETO na página 123:

!is_page(123)

Exemplo de Configuração Completa

Cenário: 3 Fornecedores com Filtros Diferentes

Fornecedor A (Nike) – ID da Página: 123

  • Shortcode: [woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"]
  • Condição do Widget: is_page(123)
  • Resultado: Exibe todas as categorias de produtos com filtros de tamanho, cor e preço

Fornecedor B (Adidas) – Slug da página: produtos-adidas

  • Shortcode: [woof taxonomies="product_cat:40,41,42" by_only="by_instock"]
  • Condição do Widget: is_page('adidas-products')
  • Resultado: Exibe apenas as categorias 40, 41, 42 com filtro de estoque

Fornecedor C – ID do Arquivo de Categoria: 50

  • Shortcode: [woof tax_only="product_cat,pa_brand" by_only="by_price,by_sku"]
  • Condição do Widget: is_product_category(50)
  • Resultado: Exibe filtros de categorias, marcas, preço e SKU

Entendendo os Atributos

tax_only vs taxonomies

Use tax_only quando:

  • Você quer exibir taxonomias inteiras (todos os termos)
  • Exemplo: tax_only="product_cat,pa_brand" exibe todas as categorias e todas as marcas

Use taxonomies quando:

  • Você tem "recontagem dinâmica" ou "ocultar opções vazias" ativados
  • Você quer exibir termos específicos de taxonomias específicas
  • Exemplo: taxonomies="product_cat:35,42+pa_brand:nike" exibe apenas as categorias 35 e 42, e apenas a marca Nike

Valores de by_only

Filtros não-taxonômicos disponíveis para by_only:

  • by_price – Controle deslizante de faixa de preço
  • by_sku – Pesquisar por SKU
  • by_text – Pesquisa de texto
  • by_author – Filtrar por autor
  • by_onsales – Exibir apenas produtos em promoção
  • by_instock – Exibir apenas produtos em estoque
  • Chaves de campo meta (se ativadas nas configurações do WOOF)

Use by_only="none" para ocultar todos os filtros não-taxonômicos.

Encontrando IDs e Slugs

IDs de Categoria

  1. Vá em Produtos → Categorias
  2. Passe o mouse sobre o nome da categoria
  3. Veja a barra de status do navegador ou a URL
  4. Encontre tag_ID=35 – o número é o ID da sua categoria

IDs de Página

  1. Vá em Páginas
  2. Passe o mouse sobre o nome da página
  3. Veja a URL: post=123
  4. O número é o ID da sua página

Slugs de Atributo

  1. Vá em Produtos → Atributos
  2. Os slugs de atributo começam com pa_
  3. Exemplos: pa_brand, pa_size, pa_color, pa_material

Testando Sua Configuração

  1. Teste os shortcodes primeiro
    • Coloque o shortcode diretamente em uma página de teste
    • Verifique se os filtros são exibidos corretamente
    • Confira se a filtragem funciona
  2. Teste a visibilidade do widget
    • Visite cada página onde o filtro deve aparecer
    • Verifique se o filtro correto é exibido
    • Confira se outros filtros não aparecem
  3. Verifique se há apenas um filtro por página
    • Múltiplos filtros na mesma página entrarão em conflito
    • Use as condições do widget para garantir exclusividade

Limitação Importante

Apenas um filtro por página: Apenas um filtro WOOF pode estar ativo por página por vez. Múltiplos filtros entrarão em conflito.

Solução: Use lógica condicional de widget para garantir que apenas um widget de filtro seja exibido por página.

Dicas

  1. Teste os shortcodes diretamente primeiro
    • Antes de adicionar aos widgets, teste os shortcodes em uma página normal
    • Isso garante que os atributos estejam corretos
  2. Use condições exclusivas
    • Certifique-se de que as condições do widget não se sobreponham
    • Apenas um filtro deve estar visível por página
  3. Condições negativas
    • Use !is_page(123) para excluir páginas específicas
    • Útil para cenários de "exibir em todos os lugares, exceto"
  4. Verifique os slugs de atributo
    • Os slugs de atributo devem começar com pa_
    • Slug errado = o filtro não aparecerá

Documentação Completa

Para referência completa de atributos de shortcode: https://products-filter.com/shortcode/woof

Solução de Problemas

Filtro Não Aparece

Causas possíveis:

  • A condição do widget é falsa para a página atual
  • Atributos do shortcode incorretos
  • IDs de categoria/atributo não existem
  • Múltiplos filtros em conflito

Solução:

  • Verifique se o ID/slug da página corresponde à condição
  • Confira os IDs das categorias em Produtos → Categorias
  • Teste o shortcode em uma página normal primeiro
  • Garanta que apenas um widget de filtro por página

Produtos Errados Sendo Exibidos

Causas possíveis:

  • IDs de categoria incorretos
  • Slugs de atributo errados
  • Usando o atributo errado (tax_only vs taxonomies)

Solução:

  • Verifique novamente os IDs das categorias
  • Confirme se os slugs de atributo começam com pa_
  • Use taxonomies se você tiver a recontagem dinâmica ativada
  • Teste com um shortcode mais simples primeiro

Múltiplos Filtros Sendo Exibidos

Causa: As condições do widget se sobrepõem

Solução:

  • Revise todas as condições do widget
  • Garanta exclusividade mútua
  • Use condições negativas para separar

Filtro Aparece em Páginas Erradas

Causa: Condição do widget muito ampla

Solução:

  • Torne a condição mais específica
  • Use o ID da página em vez da categoria, se necessário
  • Teste a lógica da condição cuidadosamente

Resumo

Para exibir filtros diferentes em páginas diferentes:

  1. Crie shortcodes [woof] personalizados com atributos tax_only e/ou by_only
  2. Coloque cada shortcode em widgets separados de Texto/HTML
  3. Instale o plugin Widget Logic
  4. Adicione lógica condicional a cada widget (ex.: is_page(123))
  5. Teste para garantir que apenas um filtro seja exibido por página

Lembre-se: Apenas um filtro pode estar ativo por página. Use as condições do widget para garantir exclusividade.