Cómo mostrar diferentes filtros de WooCommerce en diferentes páginas
El shortcode [woof] del filtro HUSKY para WooCommerce acepta atributos que te permiten controlar qué filtros aparecen y qué productos muestran.
Atributos principales:
tax_only– Muestra solo taxonomías específicas (categorías, atributos)by_only– Muestra solo filtros no taxonómicos específicos (precio, SKU, stock, etc.)taxonomies– Muestra solo términos taxonómicos específicos (se usa con el recuento dinámico)
Ejemplos de shortcode
Filtrar taxonomías específicas
Muestra solo filtros de categoría y marca:
[woof tax_only="product_cat,pa_brand"]
Filtrar elementos no taxonómicos
Muestra solo filtros de precio, SKU y stock:
[woof by_only="by_price,by_sku,by_instock"]
Combinado: taxonomías + filtros no taxonómicos
Muestra taxonomías específicas Y filtros no taxonómicos:
[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price,by_instock"]
Usando el atributo taxonomies (para recuento dinámico)
Muestra solo términos específicos de taxonomías específicas:
[woof taxonomies="product_cat:35,42,58+pa_brand:nike,adidas"]
Nota: El atributo taxonomies se usa cuando tienes activado el “recuento dinámico” o “ocultar opciones vacías”.
Guía completa de configuración
Paso 1: Crea tus shortcodes
Crea diferentes shortcodes [woof] para cada página con los atributos apropiados.
Ejemplo:
- Proveedor A:
[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"] - Proveedor B:
[woof taxonomies="product_cat:50+pa_brand:nike,adidas" by_only="by_price"]
Paso 2: Coloca los shortcodes en widgets
- Ve a Apariencia → Widgets
- Añade un widget de Texto o HTML personalizado a tu barra lateral
- Pega tu shortcode en el widget
- Crea widgets separados para cada shortcode
Paso 3: Instala un plugin de widgets condicionales
Necesitas un plugin para controlar la visibilidad de los widgets según las condiciones de la página.
Elige uno:
- Widget Logic – https://wordpress.org/plugins/widget-logic/
- Show WordPress Widget by Logic – https://github.com/realmag777/Show-WordPress-Widget-by-Logic
Paso 4: Establece las condiciones de visibilidad
Añade lógica condicional a cada widget para controlar dónde aparece.
Ejemplos de lógica condicional
Mostrar filtro en una página específica
Por slug de página:
is_page('supplier-nike')
Por ID de página:
is_page(123)
Mostrar filtro en múltiples páginas
is_page(array('supplier-1', 'supplier-2', 'supplier-3'))
Mostrar filtro en el archivo de categoría
Por ID de categoría:
is_product_category(35)
Por slug de categoría:
is_product_category('electronics')
Mostrar filtro en una taxonomía personalizada
is_tax('supplier', 'nike-products')
Excluir páginas específicas
Mostrar en todas partes EXCEPTO en la página 123:
!is_page(123)
Ejemplo completo de configuración
Escenario: 3 proveedores con diferentes filtros
Proveedor A (Nike) – ID de página: 123
- Shortcode:
[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"] - Condición del widget:
is_page(123) - Resultado: Muestra todas las categorías de productos con filtros de tamaño, color y precio
Proveedor B (Adidas) – Slug de página: adidas-products
- Shortcode:
[woof taxonomies="product_cat:40,41,42" by_only="by_instock"] - Condición del widget:
is_page('adidas-products') - Resultado: Muestra solo las categorías 40, 41, 42 con el filtro de stock
Proveedor C – ID de archivo de categoría: 50
- Shortcode:
[woof tax_only="product_cat,pa_brand" by_only="by_price,by_sku"] - Condición del widget:
is_product_category(50) - Resultado: Muestra categorías, marcas, precio y filtro de SKU
Comprendiendo los atributos
tax_only vs taxonomies
Usa tax_only cuando:
- Quieres mostrar taxonomías completas (todos los términos)
- Ejemplo:
tax_only="product_cat,pa_brand"muestra todas las categorías y todas las marcas
Usa taxonomies cuando:
- Tienes activado el “recuento dinámico” o “ocultar opciones vacías”
- Quieres mostrar términos específicos de taxonomías específicas
- Ejemplo:
taxonomies="product_cat:35,42+pa_brand:nike"muestra solo las categorías 35 y 42, y solo la marca Nike
Valores de by_only
Filtros no taxonómicos disponibles para by_only:
by_price– Control deslizante de rango de precioby_sku– Búsqueda por SKUby_text– Búsqueda de textoby_author– Filtrar por autorby_onsales– Mostrar solo productos en ofertaby_instock– Mostrar solo productos en stock- Claves de campos meta (si están habilitadas en la configuración de WOOF)
Usa by_only="none" para ocultar todos los filtros no taxonómicos.
Cómo encontrar IDs y slugs
IDs de categoría
- Ve a Productos → Categorías
- Pasa el ratón sobre el nombre de la categoría
- Mira la barra de estado del navegador o la URL
- Encuentra
tag_ID=35– el número es tu ID de categoría
IDs de página
- Ve a Páginas
- Pasa el ratón sobre el nombre de la página
- Mira la URL:
post=123 - El número es tu ID de página
Slugs de atributos
- Ve a Productos → Atributos
- Los slugs de atributos comienzan con
pa_ - Ejemplos:
pa_brand,pa_size,pa_color,pa_material
Probando tu configuración
- Primero prueba los shortcodes
- Coloca el shortcode directamente en una página de prueba
- Verifica que los filtros se muestren correctamente
- Comprueba que el filtrado funcione
- Prueba la visibilidad del widget
- Visita cada página donde debería aparecer el filtro
- Verifica que se muestre el filtro correcto
- Comprueba que otros filtros no aparezcan
- Verifica que solo haya un filtro por página
- Múltiples filtros en la misma página causarán conflictos
- Usa condiciones de widget para asegurar la exclusividad
Limitación importante
Solo un filtro por página: Solo puede haber un filtro WOOF activo en una página a la vez. Varios filtros causarán conflictos.
Solución: Usa la lógica condicional de widgets para asegurar que solo se muestre un widget de filtro por página.
Consejos
- Primero prueba los shortcodes directamente
- Antes de añadirlos a widgets, prueba los shortcodes en una página normal
- Esto asegura que los atributos sean correctos
- Usa condiciones exclusivas
- Asegúrate de que las condiciones de los widgets no se superpongan
- Solo un filtro debe ser visible por página
- Condiciones negativas
- Usa
!is_page(123)para excluir páginas específicas - Útil para escenarios de “mostrar en todas partes excepto”
- Usa
- Comprueba los slugs de atributos
- Los slugs de atributos deben comenzar con
pa_ - Slug incorrecto = el filtro no aparecerá
- Los slugs de atributos deben comenzar con
Documentación completa
Para la referencia completa de atributos del shortcode: https://products-filter.com/shortcode/woof
Solución de problemas
El filtro no aparece
Posibles causas:
- La condición del widget es falsa para la página actual
- Los atributos del shortcode son incorrectos
- Los IDs de categoría/atributo no existen
- Varios filtros en conflicto
Solución:
- Verifica que el ID/slug de la página coincida con la condición
- Comprueba los IDs de categoría en Productos → Categorías
- Prueba el shortcode primero en una página normal
- Asegúrate de que solo haya un widget de filtro por página
Se muestran productos incorrectos
Posibles causas:
- IDs de categoría incorrectos
- Slugs de atributos incorrectos
- Uso del atributo incorrecto (
tax_onlyvstaxonomies)
Solución:
- Vuelve a verificar los IDs de categoría
- Verifica que los slugs de atributos comiencen con
pa_ - Usa
taxonomiessi tienes el recuento dinámico activado - Prueba primero con un shortcode más simple
Se muestran varios filtros
Causa: Las condiciones del widget se superponen
Solución:
- Revisa todas las condiciones del widget
- Asegura la exclusividad mutua
- Usa condiciones negativas para separar
El filtro se muestra en páginas incorrectas
Causa: La condición del widget es demasiado amplia
Solución:
- Haz la condición más específica
- Usa el ID de página en lugar de categoría si es necesario
- Prueba la lógica de condición cuidadosamente
Resumen
Para mostrar diferentes filtros en diferentes páginas:
- Crea shortcodes
[woof]personalizados con los atributostax_onlyy/oby_only - Coloca cada shortcode en widgets de Texto/HTML separados
- Instala el plugin Widget Logic
- Añade lógica condicional a cada widget (ej.,
is_page(123)) - Prueba para asegurar que solo se muestre un filtro por página
Recuerda: Solo un filtro puede estar activo por página. Usa condiciones de widget para asegurar la exclusividad.