Filtros Locales
Los filtros locales existen para atributos de variaciones que no están modelados como taxonomías globales de WooCommerce.
Archivo clave:
- setup/modules/woocommerce-setup/module.php
Problema que resuelven:
- en Woo clásico, filtrar por atributos locales de variaciones no viene resuelto como un filtro reusable de catálogo
- Balinot detecta esas variaciones y fabrica filtros attr_local_* sobre la marcha
Detector principal:
function bs_wc_setup_get_local_variation_filters($args = [])
{
foreach ((array) $product->get_variation_attributes() as $attribute_name => $options) {
if (taxonomy_exists($attribute_name)) {
continue;
}
$filter_key = 'attr_local_' . $attribute_slug;
}
}Qué devuelve cada filtro:
- param
- meta_key
- label
- selected
- options con label, value y count
Segunda capa:
- bs_wc_setup_shop_local_attribute_filter_enabled($filter_key) decide si cada filtro detectado está activo en settings
- bs_wc_setup_get_local_variation_parent_ids_from_request() convierte la request en parent IDs válidos para la query
Interpretación:
- attr_pa_color sería un filtro global
- attr_local_talla podría ser un filtro local si la talla vive solo en variaciones del producto
Cuándo tocarlo:
- si aparece un filtro local que no debería salir
- si cambia el nombre visible o el conteo
- si una combinación de filtros globales y locales devuelve productos inesperados
Last updated on