Cómo mostrar diferentes filtros en diferentes páginas
[woof] el shortcode acepta atributos que te permiten controlar qué filtros aparecen y qué productos muestran.
Atributos principales:
tax_only– Mostrar solo taxonomías específicas (categorías, atributos)by_only– Mostrar solo filtros específicos no taxonómicos (precio, SKU, stock, etc.)taxonomies– Mostrar solo términos de taxonomía específicos (usado con recuento dinámico)
Ejemplos de Shortcode
Filtrar taxonomías específicas
Mostrar solo filtros de categoría y marca:
[woof tax_only="product_cat,pa_brand"]
Filtra Elementos No-Taxonomía
Mostrar solo los filtros de precio, SKU y stock:
[woof by_only="by_price,by_sku,by_instock"]
Combinado: Taxonomías + Filtros No Taxonómicos
Mostrar taxonomías específicas Y filtros no de taxonomía:
[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price,by_instock"]
Usando taxonomías Atributo (Para Recuento Dinámico)
Mostrar solo términos específicos de taxonomías específicas:
[woof taxonomies="product_cat:35,42,58+pa_brand:nike,adidas"]
Nota: El taxonomies el atributo se utiliza cuando tienes habilitado el "recuento dinámico" o "ocultar opciones vacías".
Guía de Configuración Completa
Paso 1: Crea tus Shortcodes
Crear diferentes [woof] shortcodes 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 Shortcodes en Widgets
- Ir a Appearance → Widgets
- Añadir Texto o HTML personalizado widget a tu barra lateral
- Pegue su shortcode en el widget
- Crea widgets separados para cada shortcode
Paso 3: Instalar el Plugin de Widget Condicional
Necesitas un plugin para controlar la visibilidad del widget según las condiciones de la página.
Elige una:
- Widget Logic – https://wordpress.org/plugins/widget-logic/
- Mostrar Widget de WordPress por Lógica – https://github.com/realmag777/Show-WordPress-Widget-by-Logic
Paso 4: Establecer Condiciones de Visibilidad
Añadir lógica condicional a cada widget para controlar dónde aparece.
Ejemplos de Lógica Condicional
Mostrar Filtro en Página Específica
Por slug de página:
is_page('supplier-nike')
Por ID de página:
is_page(123)
Mostrar filtro en varias páginas
is_page(array('supplier-1', 'supplier-2', 'supplier-3'))
Show Filter on Category Archive
Por ID de categoría:
is_product_category(35)
Por slug de categoría:
is_product_category('electronics')
Mostrar filtro en 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)
Configuración completa de ejemplo
Escenario: 3 Proveedores con Filtros Diferentes
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 la 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 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 filtros de categorías, marcas, precio y SKU
Entendiendo Atributos
tax_only vs taxonomías
Usa tax_only cuándo:
- 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 cuándo:
- Tienes habilitado 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"solo muestra las categorías 35 y 42, y solo la marca Nike
by_only Valores
Filtros no de taxonomía disponibles para by_only:
by_price– deslizador de rango de preciosby_sku– Buscar 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 que no son de taxonomía.
Búsqueda de IDs y Slugs
IDs de Categoría
- Ir a Productos → Categorías
- Pasar el ratón por encima del nombre de la categoría
- Mira la barra de estado del navegador o la URL
- Buscar
tag_ID=35– el número es tu ID de categoría
IDs de página
- Ir a Páginas
- Pasa el cursor sobre el nombre de la página
- Mira la URL:
post=123 - El número es el ID de tu página
Slugs de Atributos
- Ir a Productos → Atributos
- Los slugs de los atributos empiezan por
pa_ - Ejemplos:
pa_brand,pa_size,pa_color,pa_material
Probando tu configuración
- Test shortcodes first
- Coloca el shortcode directamente en una página de prueba
- Verificar que los filtros se muestren correctamente
- Comprueba que el filtrado funciona
- Comprobar visibilidad del widget
- Visita cada página donde debe aparecer el filtro
- Verificar que se muestren los filtros correctos
- Comprueba que no aparezcan otros filtros
- Verifica un solo filtro por página
- Múltiples filtros en la misma página entrarán en conflicto
- Usa condiciones de widget para asegurar la exclusividad
Limitación Importante
Solo un filtro por página: Solo un filtro WOOF puede estar activo en una página a la vez. Múltiples filtros entrarán en conflicto.
Solución: Utiliza la lógica condicional de widgets para asegurar que solo se muestre un widget de filtro por página.
Consejos
- Prueba primero los shortcodes directamente
- Antes de añadir a los widgets, prueba los shortcodes en una página normal
- Asegura que los atributos son correctos
- Usar condiciones exclusivas
- Asegúrate de que las condiciones del widget 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
- Revisa los slugs de los atributos
- Los slugs de los atributos deben comenzar con
pa_ - Slug incorrecto = el filtro no aparecerá
- Los slugs de los atributos deben comenzar con
Documentación Completa
Para una referencia completa de los 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
- Atributos del shortcode incorrectos
- Los IDs de categoría/atributo no existen
- Múltiples filtros en conflicto
Solución:
- Verificar 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 en una página normal primero
- Asegúrate de que solo haya un widget de filtro por página
Productos Incorrectos Mostrados
Posibles causas:
- IDs de Categoría incorrectos
- Slugs de atributos incorrectos
- Usando un atributo incorrecto (
tax_onlyvstaxonomies)
Solución:
- Vuelve a comprobar los IDs de categoría
- Verifica que las slugs de los atributos comiencen con
pa_ - Usa
taxonomiessi tienes el recuento dinámico habilitado - Pruébalo primero con un shortcode más simple
Muestra Múltiple de Filtros
Causa: Solapamiento de condiciones del widget
Solución:
- Revisa todas las condiciones del widget
- Asegura la exclusividad mutua
- Usar condiciones negativas para separar
El filtro se muestra en páginas incorrectas
Causa: Condición del widget demasiado amplia
Solución:
- Hacer la condición más específica
- Usar 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:
- Crear personalizado
[woof]shortcodes contax_onlyy/oby_onlyatributos - Coloca cada shortcode en widgets de Texto/HTML separados
- Instalar el plugin Widget Logic
- Añade lógica condicional a cada widget (por ejemplo,
is_page(123)) - Prueba para asegurar que solo se muestre un filtro por página
Recordar: Solo un filtro puede estar activo por página. Usa las condiciones del widget para asegurar la exclusividad.